Fix set_if for non-numeric boolean values

fixes #8049
This commit is contained in:
Gunnar Beutner 2014-12-10 16:49:00 +01:00
parent 2720333d6e
commit 0f496c0b55
1 changed files with 17 additions and 7 deletions

View File

@ -134,9 +134,15 @@ void PluginUtility::ExecuteCommand(const Command::Ptr& commandObj, const Checkab
if (!missingMacro.IsEmpty())
continue;
int value;
if (set_if_resolved == "true")
value = 1;
else if (set_if_resolved == "false")
value = 0;
else {
try {
if (!Convert::ToLong(set_if_resolved))
continue;
value = Convert::ToLong(set_if_resolved);
} catch (const std::exception& ex) {
/* tried to convert a string */
Log(LogWarning, "PluginUtility")
@ -144,6 +150,10 @@ void PluginUtility::ExecuteCommand(const Command::Ptr& commandObj, const Checkab
continue;
}
}
if (!value)
continue;
}
}
else
argval = arginfo;