commit ec6ce1e2a23d42e52697de6cb108d81edd1c0c0e
parent 4ed4dac59ff781ba4bd54db585c2384595e175dc
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Tue, 8 Oct 2024 15:05:02 +0200
Revert "cc1: Fix lexer for strings"
This reverts commit eb8960812d92714eb568df36e09d8c76af5cd46c.
Diffstat:
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/cmd/cc/cc1/lex.c b/src/cmd/cc/cc1/lex.c
@@ -649,13 +649,14 @@ static int
string(void)
{
char *bp = yytext;
- int c;
+ int c, esc;
*bp++ = '"';
+ esc = 0;
for (++input->p; ; ++input->p) {
c = *input->p;
- if (c == '"')
+ if (c == '"' && !esc)
break;
if (c == '\0') {
@@ -663,7 +664,9 @@ string(void)
break;
}
- if (c == '\\' && !disescape)
+ esc = (c == '\\' && !esc && disescape);
+
+ if (c == '\\' && !esc)
c = escape();
if (bp == &yytext[STRINGSIZ+1]) {