diff options
author | Freya Murphy <freya@freyacat.org> | 2024-09-30 18:51:30 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-09-30 18:51:30 -0400 |
commit | 121eda3464cb52e75b6090a22e059a5d0d577296 (patch) | |
tree | c3a718f57ab062baebda629193acd3f7bc127e0e | |
parent | only save test source (diff) | |
download | mips-121eda3464cb52e75b6090a22e059a5d0d577296.tar.gz mips-121eda3464cb52e75b6090a22e059a5d0d577296.tar.bz2 mips-121eda3464cb52e75b6090a22e059a5d0d577296.zip |
fix parse strings with new line
Diffstat (limited to '')
-rw-r--r-- | masm/lex.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -101,6 +101,12 @@ static int lex_string(struct lexer *lexer,char text[MAX_LEX_LENGTH]) if (c == '"') break; + // strings cannot span multiple lines + if (c == '\n') { + ERROR_POS(pos, "reached newline before end of string"); + return M_ERROR; + } + // match escape character if (c == '\\') { switch (lex_peek(lexer)) { @@ -123,12 +129,6 @@ static int lex_string(struct lexer *lexer,char text[MAX_LEX_LENGTH]) } } - // strings cannot span multiple lines - if (c == '\n') { - ERROR_POS(pos, "reached newline before end of string"); - return M_ERROR; - } - if (len + 1 == MAX_LEX_LENGTH) { ERROR_POS(pos, "string has max length of %d", MAX_LEX_LENGTH); |