readint integer validation made better

This commit is contained in:
2025-11-28 11:24:02 +01:00
parent 4c6f260bb9
commit 1a33db1bf5
2 changed files with 9 additions and 4 deletions

View File

@@ -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;

View File

@@ -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