readint integer validation made better
This commit is contained in:
@@ -1857,11 +1857,16 @@ void YellowNote::load()
|
|||||||
auto readInt = [](FILE *f, int default_value) {
|
auto readInt = [](FILE *f, int default_value) {
|
||||||
char buffer[100];
|
char buffer[100];
|
||||||
fgets(buffer, 100, f);
|
fgets(buffer, 100, f);
|
||||||
int v = atoi(buffer);
|
std::string s = buffer;
|
||||||
if (default_value >= 0 && v == 0) {
|
trim(s);
|
||||||
|
std::string::iterator sit = s.begin();
|
||||||
|
while(sit != s.end() && (*sit >= '0' && *sit <= '9')) { sit++; }
|
||||||
|
if (sit != s.end()) {
|
||||||
return default_value;
|
return default_value;
|
||||||
}
|
} else {
|
||||||
|
int v = atoi(buffer);
|
||||||
return v;
|
return v;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
_in_transaction = true;
|
_in_transaction = true;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class SettingContainer;
|
|||||||
|
|
||||||
#define YELLOWNOTE_MAJOR "1"
|
#define YELLOWNOTE_MAJOR "1"
|
||||||
#define YELLOWNOTE_MINOR "0"
|
#define YELLOWNOTE_MINOR "0"
|
||||||
#define YELLOWNOTE_PATCH "1"
|
#define YELLOWNOTE_PATCH "2"
|
||||||
#define YELLOWNOTE_VERSION YELLOWNOTE_MAJOR "." YELLOWNOTE_MINOR "." YELLOWNOTE_PATCH
|
#define YELLOWNOTE_VERSION YELLOWNOTE_MAJOR "." YELLOWNOTE_MINOR "." YELLOWNOTE_PATCH
|
||||||
#define YELLOWNOTE_FILE_VERSION 3
|
#define YELLOWNOTE_FILE_VERSION 3
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user