Browse Source

Allow building sources with mixed LF/CRLF line-endings.

Reported by mgood7123.
Mike Pall 2 years ago
parent
commit
126526ab93
1 changed files with 10 additions and 4 deletions
  1. 10 4
      src/host/buildvm_lib.c

+ 10 - 4
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;