From 1ef6cb1b64e926a74db562401ebef3c673c3d7cf Mon Sep 17 00:00:00 2001 From: dimenus Date: Fri, 3 Nov 2017 16:25:00 -0500 Subject: [PATCH] Add support for windows line endings with c macros --- src/c_tokenizer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/c_tokenizer.cpp b/src/c_tokenizer.cpp index 00977e0f3..044831f72 100644 --- a/src/c_tokenizer.cpp +++ b/src/c_tokenizer.cpp @@ -91,6 +91,9 @@ IDENT_START: \ case DIGIT +#define LINE_ENDING \ + '\r': \ + case '\n' static void begin_token(CTokenize *ctok, CTokId id) { assert(ctok->cur_tok == nullptr); @@ -191,7 +194,7 @@ void tokenize_c_macro(CTokenize *ctok, const uint8_t *c) { case '\\': ctok->state = CTokStateBackslash; break; - case '\n': + case LINE_ENDING: goto found_end_of_macro; case IDENT_START: ctok->state = CTokStateIdentifier;