From 073d8a5169c2f3dd5a562e7f44f2cbbc2e814ec8 Mon Sep 17 00:00:00 2001 From: J-D-K Date: Sat, 13 Sep 2025 22:20:44 -0400 Subject: [PATCH] Fix string sanitation logic error. --- Makefile | 2 +- source/JKSV.cpp | 2 +- source/stringutil.cpp | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 1e621f5..8688287 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ INCLUDES := include ./Libraries/FsLib/Switch/FsLib/include ./Libraries/SDLLib/SD EXEFS_SRC := exefs_src APP_TITLE := JKSV APP_AUTHOR := JK -APP_VERSION := 09.08.2025 +APP_VERSION := 09.13.2025 ROMFS := romfs ICON := icon.jpg diff --git a/source/JKSV.cpp b/source/JKSV.cpp index c9a7be3..793aec0 100644 --- a/source/JKSV.cpp +++ b/source/JKSV.cpp @@ -32,7 +32,7 @@ namespace /// @brief Build month. constexpr uint8_t BUILD_MON = 9; /// @brief Build day. - constexpr uint8_t BUILD_DAY = 8; + constexpr uint8_t BUILD_DAY = 13; /// @brief Year. constexpr uint16_t BUILD_YEAR = 2025; diff --git a/source/stringutil.cpp b/source/stringutil.cpp index 1ebd6c9..ef51e11 100644 --- a/source/stringutil.cpp +++ b/source/stringutil.cpp @@ -71,7 +71,11 @@ bool stringutil::sanitize_string_for_path(const char *stringIn, char *stringOut, const bool isForbidden = std::find(FORBIDDEN_PATH_CHARACTERS.begin(), FORBIDDEN_PATH_CHARACTERS.end(), codepoint) != FORBIDDEN_PATH_CHARACTERS.end(); - if (isForbidden) { stringOut[outOffset++] = 0x20; } + if (isForbidden) + { + i += count; + continue; + } else { std::memcpy(&stringOut[outOffset], &stringIn[i], static_cast(count)); @@ -82,7 +86,7 @@ bool stringutil::sanitize_string_for_path(const char *stringIn, char *stringOut, } const int outLength = std::char_traits::length(stringOut) - 1; - for (int i = outLength; i-- > 0 && (stringOut[i] == ' ' || stringOut[i] == '.');) { stringOut[i] = '\0'; } + for (int i = outLength; i > 0 && (stringOut[i] == ' ' || stringOut[i] == '.'); i--) { stringOut[i] = '\0'; } return true; }