From 21b58b08b8e3961e16b2b21d4fa821d392d04570 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Thu, 10 Dec 2020 15:21:32 +0100 Subject: [PATCH] Fix not shifting CRLF at end of raw lines Fixes line reporting errors on Windows --- src/asm/lexer.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/asm/lexer.c b/src/asm/lexer.c index 45269493..08404b55 100644 --- a/src/asm/lexer.c +++ b/src/asm/lexer.c @@ -1777,7 +1777,7 @@ static int yylex_RAW(void) if (c == EOF) return 0; shiftChars(1); - if (c == '\r' && peek(0) == '\r') + if (c == '\r' && peek(0) == '\n') shiftChars(1); return c == ',' ? T_COMMA : T_NEWLINE; } @@ -2033,10 +2033,8 @@ void lexer_CaptureRept(char **capture, size_t *size) error("Unterminated REPT block\n"); lexerState->capturing = false; goto finish; - } else if (c == '\n') { - break; - } else if (c == '\r') { - if (peek(0) == '\n') + } else if (c == '\n' || c == '\r') { + if (c == '\r' && peek(0) == '\n') shiftChars(1); break; }