]> granicus.if.org Git - icinga2/commitdiff
Fix HOSTSTATE macro.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 30 Aug 2013 15:02:21 +0000 (17:02 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 30 Aug 2013 15:02:21 +0000 (17:02 +0200)
lib/icinga/host.cpp

index 2376e64c5c6406b6d615e23c52e5cd36002669b7..c9b4e7ea16a5795024d4f2f1720a32a107d26aaf 100644 (file)
@@ -611,7 +611,22 @@ bool Host::ResolveMacro(const String& macro, const Dictionary::Ptr&, String *res
                bool reachable = IsReachable();
 
                if (macro == "HOSTSTATE") {
-                       *result = Convert::ToString(CalculateState(state, reachable));
+                       HostState hstate = CalculateState(state, reachable);
+
+                       switch (hstate) {
+                               case HostUnreachable:
+                                       *result = "UNREACHABLE";
+                                       break;
+                               case HostUp:
+                                       *result = "UP";
+                                       break;
+                               case HostDown:
+                                       *result = "DOWN";
+                                       break;
+                               default:
+                                       ASSERT(0);
+                       }
+
                        return true;
                } else if (macro == "HOSTSTATEID") {
                        *result = Convert::ToString(state);