diff --git a/conffile.cpp b/conffile.cpp index 817afae7..fa7de3fa 100644 --- a/conffile.cpp +++ b/conffile.cpp @@ -452,7 +452,7 @@ void ConfigFile::ClearLines() } } -bool ConfigFile::ConfigEntry::section_then_key_less::operator()(const ConfigEntry &a, const ConfigEntry &b) { +bool ConfigFile::ConfigEntry::section_then_key_less::operator()(const ConfigEntry &a, const ConfigEntry &b) const{ if(curConfigFile && a.section!=b.section){ const int sva = curConfigFile->GetSectionSize(a.section); const int svb = curConfigFile->GetSectionSize(b.section); diff --git a/conffile.h b/conffile.h index ba69812d..d92128cb 100644 --- a/conffile.h +++ b/conffile.h @@ -90,7 +90,7 @@ class ConfigFile { mutable bool used; struct section_then_key_less { - bool operator()(const ConfigEntry &a, const ConfigEntry &b); + bool operator()(const ConfigEntry &a, const ConfigEntry &b) const; }; struct key_less { @@ -101,8 +101,8 @@ class ConfigFile { }; struct line_less { - bool operator()(const ConfigEntry &a, const ConfigEntry &b){ - if(a.line==b.line) return (b.val.empty() && !a.val.empty()) || a.key