From 36df83431b83c0eda57b494a292fc883b50a60e5 Mon Sep 17 00:00:00 2001 From: Jozef Nagy Date: Sun, 3 Dec 2023 18:36:05 +0100 Subject: [PATCH] Ignore newlines in INI parser --- CMakeLists.txt | 2 +- xtldr2/config.c | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9bf79e..c635dc0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ file(RELATIVE_PATH _PATH_PREFIX ${EXECTOS_BINARY_DIR} ${EXECTOS_SOURCE_DIR}) add_compiler_flags(-D__RELFILE__="&__FILE__[__FILE__[0] == '.' ? sizeof \\\"${_PATH_PREFIX}\\\" - 1 : sizeof XTOS_SOURCE_DIR]") # Set the virtual disk image size (in MiB) -set_disk_image_size(128) +set_disk_image_size(16) # Build all subprojects add_subdirectory(bootdata) diff --git a/xtldr2/config.c b/xtldr2/config.c index cf5ffb0..885910e 100644 --- a/xtldr2/config.c +++ b/xtldr2/config.c @@ -40,7 +40,17 @@ BlConfigParseIniFile(IN PWCHAR FileContents, while(Argument != NULL) { /* Check every line */ - if(RtlWideStringCompare(Argument, L"[", 1) == 0) + if(RtlWideStringCompare(Argument, L"\r\n", 2) == 0) + { + /* We can safely ignore a newline */ + Argument += 2; + } + else if(RtlWideStringCompare(Argument, L"#", 1) == 0) + { + /* We can safely ignore a comment */ + Argument += 1; + } + else if(RtlWideStringCompare(Argument, L"[", 1) == 0) { /* Skip to the section name */ Argument += 1; @@ -95,11 +105,6 @@ BlConfigParseIniFile(IN PWCHAR FileContents, /* Set a tune */ BlConsolePrint(L"Setting TUNE value to %S\n", Argument); } - else if(RtlWideStringCompare(Argument, L"#", 1) == 0) - { - /* We can safely ignore a comment */ - Argument += 1; - } else { /* Configuration file might be corrupt */