diff --git a/settings.cpp b/settings.cpp index 1b726ba9..b36da52a 100644 --- a/settings.cpp +++ b/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();