From f9b107d0bff6c762fc607d60e0238f7a5a9f7928 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Sun, 17 Nov 2013 00:05:31 +0100 Subject: [PATCH] Accept invalid performance data. Refs #5082 --- lib/icinga/perfdatavalue.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/icinga/perfdatavalue.cpp b/lib/icinga/perfdatavalue.cpp index c00d1b42b..549a7cdcb 100644 --- a/lib/icinga/perfdatavalue.cpp +++ b/lib/icinga/perfdatavalue.cpp @@ -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(value, counter, unit, warn, crit, min, max);