]> granicus.if.org Git - icinga2/commitdiff
Accept invalid performance data.
authorGunnar Beutner <gunnar@beutner.name>
Sat, 16 Nov 2013 23:05:31 +0000 (00:05 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Sat, 16 Nov 2013 23:05:31 +0000 (00:05 +0100)
Refs #5082

lib/icinga/perfdatavalue.cpp

index c00d1b42b3396d485c2a5cbd773522f5b9f3fc0e..549a7cdcb12513ad64bb357726e109ed438cdcf8 100644 (file)
@@ -93,16 +93,16 @@ Value PerfdataValue::Parse(const String& perfdata)
                BOOST_THROW_EXCEPTION(std::invalid_argument("Invalid performance data unit: " + unit));
        }
 
-       if (tokens.size() > 1 && tokens[1] != "U")
+       if (tokens.size() > 1 && tokens[1] != "U" && tokens[1] != "")
                warn = Convert::ToDouble(tokens[1]);
 
-       if (tokens.size() > 2 && tokens[2] != "U")
+       if (tokens.size() > 2 && tokens[2] != "U" && tokens[2] != "")
                crit = Convert::ToDouble(tokens[2]);
 
-       if (tokens.size() > 3 && tokens[3] != "U")
+       if (tokens.size() > 3 && tokens[3] != "U" && tokens[3] != "")
                min = Convert::ToDouble(tokens[3]);
 
-       if (tokens.size() > 4 && tokens[4] != "U")
+       if (tokens.size() > 4 && tokens[4] != "U" && tokens[4] != "")
                max = Convert::ToDouble(tokens[4]);
 
        return make_shared<PerfdataValue>(value, counter, unit, warn, crit, min, max);