From 126526ab936a1b5c5015d31ab5d3bdac4ad0b19d Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Tue, 21 Feb 2023 16:49:51 +0100 Subject: Allow building sources with mixed LF/CRLF line-endings. Reported by mgood7123. --- src/host/buildvm_lib.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/host/buildvm_lib.c b/src/host/buildvm_lib.c index a9829d0d..47195fd4 100644 --- a/src/host/buildvm_lib.c +++ b/src/host/buildvm_lib.c @@ -319,12 +319,18 @@ void emit_lib(BuildCtx *ctx) char *p; /* Simplistic pre-processor. Only handles top-level #if/#endif. */ if (buf[0] == '#' && buf[1] == 'i' && buf[2] == 'f') { - int ok = 1; - if (!strcmp(buf, "#if LJ_52\n")) + int ok = 1, len = strlen(buf); + if (buf[len-1] == '\n') { + buf[len-1] = 0; + if (buf[len-2] == '\r') { + buf[len-2] = 0; + } + } + if (!strcmp(buf, "#if LJ_52")) ok = LJ_52; - else if (!strcmp(buf, "#if LJ_HASJIT\n")) + else if (!strcmp(buf, "#if LJ_HASJIT")) ok = LJ_HASJIT; - else if (!strcmp(buf, "#if LJ_HASFFI\n")) + else if (!strcmp(buf, "#if LJ_HASFFI")) ok = LJ_HASFFI; if (!ok) { int lvl = 1; -- cgit v1.2.1