diff options
-rw-r--r-- | src/configuration.cpp | 13 | ||||
-rw-r--r-- | src/configuration.h | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp index 2f794aec..3dccdecf 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -109,7 +109,7 @@ bool Configuration::write(std::string filename) { */ void Configuration::setValue(std::string key, std::string value) { INI_OPTION optionTmp; - if(getValue(key, "") == "") { + if(!keyExists(key)) { #ifdef __DEBUG std::cout << "Configuration::setValue(" << key << ", \"" << value << "\") newly set\n"; #endif @@ -138,7 +138,7 @@ void Configuration::setValue(std::string key, std::string value) { */ void Configuration::setValue(std::string key, float value) { INI_OPTION optionTmp; - if(getValue(key, -111) == -111) { + if(!keyExists(key)) { #ifdef __DEBUG std::cout << "Configuration::setValue(" << key << ", " << value << ") newly set\n"; #endif @@ -186,3 +186,12 @@ float Configuration::getValue(std::string key, float deflt) { return deflt; } + + +bool Configuration::keyExists(std::string key) { + for (iter = iniOptions.begin(); iter != iniOptions.end(); iter++) { + if(iter->key == key) + return true; + } + return false; +} diff --git a/src/configuration.h b/src/configuration.h index db99007c..45c443f8 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -47,6 +47,7 @@ class Configuration { std::string getValue(std::string, std::string); float getValue(std::string, float); private: + bool keyExists(std::string); typedef struct INI_OPTION { std::string key; |