String set_if_resolved = MacroProcessor::ResolveMacros(set_if, macroResolvers,
cr, &missingMacro);
- if (!missingMacro.IsEmpty() || !Convert::ToLong(set_if_resolved))
+ if (!missingMacro.IsEmpty())
continue;
+
+ try {
+ if (!Convert::ToLong(set_if_resolved))
+ continue;
+ } catch (const std::exception& ex) {
+ /* tried to convert a string */
+ Log(LogWarning, "PluginUtility", "Error evaluating set_if value '" + set_if_resolved + "': " + ex.what());
+ continue;
+ }
}
}
else
{
try {
Dictionary::Ptr result = make_shared<Dictionary>();
-
+
size_t begin = 0;
String multi_prefix;
-
+
for (;;) {
size_t eqp = perfdata.FindFirstOf('=', begin);
--- /dev/null
+object Host "6968-server" {
+ import "test-generic-host"
+ address = "127.0.0.1"
+}
+
+object Service "6968-test" {
+ import "test-generic-service"
+
+ host_name = "6968-server"
+ check_command = "6968-check_vmware"
+ vars.vmware_check = "vCenter_License_Status"
+}
+
+object CheckCommand "6968-check_vmware" {
+ import "plugin-check-command"
+
+ command = [ PluginDir + "/check_vmware.pl" ]
+ arguments = {
+ "--server" = "$address$"
+ "--username" = "***"
+ "--password" = "***"
+ "--check" = {
+ set_if = "$vmware_check$"
+ }
+ }
+}
+
+