Actually created escape escapes
This commit is contained in:
21
src/parse.c
21
src/parse.c
@@ -183,8 +183,23 @@ static int expandfile(struct expandfile *ret, char *filename, int level) {
|
|||||||
goto error;
|
goto error;
|
||||||
if (appendchar(ret->data, c))
|
if (appendchar(ret->data, c))
|
||||||
goto error;
|
goto error;
|
||||||
if (c == ESCAPE_CHAR)
|
if (c == '\n')
|
||||||
|
++linenum;
|
||||||
|
if (c == ESCAPE_CHAR) {
|
||||||
|
c = fgetc(file);
|
||||||
|
if (c == ESCAPE_CHAR) {
|
||||||
|
if (appendchar(
|
||||||
|
ret->data, c))
|
||||||
|
goto error;
|
||||||
|
if (appendchar(
|
||||||
|
ret->data, c))
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ungetc(c, file);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
c = fgetc(file);
|
c = fgetc(file);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -207,8 +222,8 @@ static int expandfile(struct expandfile *ret, char *filename, int level) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Line %d: Invalid escape\n",
|
fprintf(stderr, "Line %d: Invalid escape %c\n",
|
||||||
linenum);
|
linenum, c);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user