From 91831b3260de8db78644dbbeeca7955362e82f70 Mon Sep 17 00:00:00 2001
From: Gunnar Beutner <gunnar.beutner@netways.de>
Date: Fri, 7 Sep 2012 09:47:58 +0200
Subject: [PATCH] Cleaned up Service::StateFromString function.

---
 cib/service.cpp | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

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<String, ServiceState> stateLookup;
-
-	if (stateLookup.empty()) {
-		stateLookup["ok"] = StateOK;
-		stateLookup["warning"] = StateWarning;
-		stateLookup["critical"] = StateCritical;
-		stateLookup["uncheckable"] = StateUncheckable;
-		stateLookup["unknown"] = StateUnknown;
-	}
-
-	map<String, ServiceState>::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)