mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Crash fix if settings file has wrong format
This commit is contained in:
parent
92cd5fb5e8
commit
daa3efe640
13
settings.cpp
13
settings.cpp
|
|
@ -29,9 +29,11 @@ void Settings::load() {
|
|||
string value;
|
||||
string line;
|
||||
size_t pos = string::npos;
|
||||
int valueCheck;
|
||||
infile.seekg(0);
|
||||
while (infile.good())
|
||||
{
|
||||
valueCheck = 0;
|
||||
//read json file
|
||||
getline(infile, line);
|
||||
pos = line.find("\"value\":");
|
||||
|
|
@ -42,8 +44,19 @@ void Settings::load() {
|
|||
while (lineStream.good()) {
|
||||
getline(lineStream, value, ',');
|
||||
settingsElements.push_back(value);
|
||||
valueCheck++;
|
||||
numValues++;
|
||||
}
|
||||
//two values per line are expected
|
||||
//add missing value
|
||||
if(valueCheck < 2) {
|
||||
settingsElements.push_back("");
|
||||
}
|
||||
//discard additional values
|
||||
for (valueCheck; valueCheck > 2; valueCheck--) {
|
||||
settingsElements.pop_back();
|
||||
numValues--;
|
||||
}
|
||||
}
|
||||
}
|
||||
infile.close();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user