Fix a nesting bug

Before, strings such as @n@!_filename@@m wouldn't be parsed correctly
because of that '@@' in there.
This commit is contained in:
2024-02-17 23:56:28 -06:00
parent ba55ebd057
commit 561ad55a60

View File

@@ -334,17 +334,18 @@ static int expandfile(struct expandfile *ret, char *filename, int level) {
appendchar(ret->data, c); appendchar(ret->data, c);
continue; continue;
} }
c = fgetc(file);
if (c == EOF) {
goto no_nest_end;
}
appendchar(ret->data, ESCAPE_CHAR);
appendchar(ret->data, c); appendchar(ret->data, c);
if (c != NEST_END) { c = fgetc(file);
continue; if (c == NEST_END) {
} appendchar(ret->data, c);
break; break;
} }
ungetc(c, file);
do {
c = fgetc(file);
appendchar(ret->data, c);
} while (c != ESCAPE_CHAR);
}
break; break;
no_nest_end: no_nest_end:
fprintf(stderr, "Line %d: Unmatched nest start char\n", origline); fprintf(stderr, "Line %d: Unmatched nest start char\n", origline);