diff --git a/src/scanner.l b/src/scanner.l index 4a55e1652d7d238ebaa8b9937e54f228e664a3b5..ef6a8cc9305c2aea2bb8e29b5408b312708908e0 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -123,12 +123,12 @@ identifier [a-zA-Z_][a-zA-Z0-9_]* {string_literal} { /* https://stackoverflow.com/questions/14185172/lex-how-to-eliminate-double-quotes-from-a-string-literal */ char* str = malloc(sizeof(char) * yyleng+3); - strcpy(str, "\\"); - strncpy(str+1, yytext, yyleng-1); - strcpy(str+yyleng, "\\\""); - str[yyleng+2] = '\0'; - yylval->TK_STRING_LITERAL = str; - return TK_STRING_LITERAL; } + strcpy(str, "\\"); + strncpy(str+1, yytext, yyleng-1); + strcpy(str+yyleng, "\\\""); + str[yyleng+2] = '\0'; + yylval->TK_STRING_LITERAL = str; + return TK_STRING_LITERAL; }