mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-27 20:44:56 +00:00
Fix remove_comments()?
This commit is contained in:
parent
4910d33524
commit
9e79881b5f
38
src/conky.c
38
src/conky.c
@ -2897,28 +2897,36 @@ static int text_contains_templates(const char *text)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void strfold(char *start, int count)
|
||||||
|
{
|
||||||
|
char *curplace;
|
||||||
|
for (curplace = start + count; *curplace != 0; curplace++) {
|
||||||
|
*(curplace - count) = *curplace;
|
||||||
|
}
|
||||||
|
*(curplace - count) = 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void remove_comments(char *string)
|
static void remove_comments(char *string)
|
||||||
{
|
{
|
||||||
char *curplace, *curplace2;
|
char *curplace, *curplace2;
|
||||||
char *newend = NULL;
|
|
||||||
|
|
||||||
for(curplace = string; *curplace != 0; curplace++) {
|
for (curplace = string; *curplace != 0; curplace++) {
|
||||||
if(*curplace == '\\' && *(curplace + 1) == '#') {
|
if (*curplace == '\\' && *(curplace + 1) == '#') {
|
||||||
//strcpy can't be used for overlapping strings
|
// strcpy can't be used for overlapping strings
|
||||||
for (curplace2 = curplace+1; *curplace2 != 0; curplace2++) {
|
strfold(curplace, 1);
|
||||||
*(curplace2 - 1) = *curplace2;
|
} else if (*curplace == '#') {
|
||||||
|
// remove everything until we hit a '\n'
|
||||||
|
curplace2 = curplace;
|
||||||
|
while (*curplace2 && *curplace2 != '\n') {
|
||||||
|
curplace2++;
|
||||||
|
}
|
||||||
|
if (*curplace2) {
|
||||||
|
strfold(curplace, curplace2 - curplace);
|
||||||
|
} else {
|
||||||
|
*curplace = 0;
|
||||||
}
|
}
|
||||||
*(curplace2 - 1) = 0;
|
|
||||||
} else if(*curplace == '#' && !newend) {
|
|
||||||
newend = curplace;
|
|
||||||
} else if(*curplace == '\n' && newend) {
|
|
||||||
*newend = '\n';
|
|
||||||
newend++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(newend) {
|
|
||||||
*newend = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int extract_variable_text_internal(struct text_object *retval, const char *const_p, char allow_threaded)
|
static int extract_variable_text_internal(struct text_object *retval, const char *const_p, char allow_threaded)
|
||||||
|
Loading…
Reference in New Issue
Block a user