From 1a33db1bf54242268e9ed1542b59f7860dc50a82 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Fri, 28 Nov 2025 11:24:02 +0100 Subject: [PATCH] readint integer validation made better --- yellownotes.cpp | 11 ++++++++--- yellownotes.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/yellownotes.cpp b/yellownotes.cpp index fc9bb77..cfbb92f 100644 --- a/yellownotes.cpp +++ b/yellownotes.cpp @@ -1857,11 +1857,16 @@ void YellowNote::load() auto readInt = [](FILE *f, int default_value) { char buffer[100]; fgets(buffer, 100, f); - int v = atoi(buffer); - if (default_value >= 0 && v == 0) { + std::string s = buffer; + trim(s); + std::string::iterator sit = s.begin(); + while(sit != s.end() && (*sit >= '0' && *sit <= '9')) { sit++; } + if (sit != s.end()) { return default_value; + } else { + int v = atoi(buffer); + return v; } - return v; }; _in_transaction = true; diff --git a/yellownotes.h b/yellownotes.h index 17e572c..4282bd3 100644 --- a/yellownotes.h +++ b/yellownotes.h @@ -14,7 +14,7 @@ class SettingContainer; #define YELLOWNOTE_MAJOR "1" #define YELLOWNOTE_MINOR "0" -#define YELLOWNOTE_PATCH "1" +#define YELLOWNOTE_PATCH "2" #define YELLOWNOTE_VERSION YELLOWNOTE_MAJOR "." YELLOWNOTE_MINOR "." YELLOWNOTE_PATCH #define YELLOWNOTE_FILE_VERSION 3