diff --git a/cib/service.cpp b/cib/service.cpp index e8d6c74fd..26bdcd115 100644 --- a/cib/service.cpp +++ b/cib/service.cpp @@ -391,24 +391,16 @@ void Service::ApplyCheckResult(const Dictionary::Ptr& cr) ServiceState Service::StateFromString(const String& state) { - /* TODO: make this thread-safe */ - static map stateLookup; - - if (stateLookup.empty()) { - stateLookup["ok"] = StateOK; - stateLookup["warning"] = StateWarning; - stateLookup["critical"] = StateCritical; - stateLookup["uncheckable"] = StateUncheckable; - stateLookup["unknown"] = StateUnknown; - } - - map::iterator it; - it = stateLookup.find(state); - - if (it == stateLookup.end()) - return StateUnknown; + if (state == "ok") + return StateOK; + else if (state == "warning") + return StateWarning; + else if (state == "critical") + return StateCritical; + else if (state == "uncheckable") + return StateUncheckable; else - return it->second; + return StateUnknown; } String Service::StateToString(ServiceState state)