diff --git a/components/livestatus/hoststable.cpp b/components/livestatus/hoststable.cpp index ee9c401ef..5f9d4887e 100644 --- a/components/livestatus/hoststable.cpp +++ b/components/livestatus/hoststable.cpp @@ -236,42 +236,11 @@ Value HostsTable::CheckCommandExpandedAccessor(const Value& row) if (!hc) return Empty; - CheckCommand::Ptr commandObj = hc->GetCheckCommand(); + CheckCommand::Ptr checkcommand = hc->GetCheckCommand(); + if (checkcommand) + return checkcommand->GetName(); /* this is the name without '!' args */ - if (!commandObj) - return Empty; - - Value raw_command = commandObj->GetCommandLine(); - - std::vector resolvers; - resolvers.push_back(hc); - resolvers.push_back(host); - resolvers.push_back(commandObj); - resolvers.push_back(IcingaApplication::GetInstance()); - - Value commandLine = MacroProcessor::ResolveMacros(raw_command, resolvers, CheckResult::Ptr(), Utility::EscapeShellCmd); - - String buf; - if (commandLine.IsObjectType()) { - Array::Ptr args = commandLine; - - ObjectLock olock(args); - String arg; - BOOST_FOREACH(arg, args) { - // This is obviously incorrect for non-trivial cases. - String argitem = " \"" + arg + "\""; - boost::algorithm::replace_all(argitem, "\n", "\\n"); - buf += argitem; - } - } else if (!commandLine.IsEmpty()) { - String args = Convert::ToString(commandLine); - boost::algorithm::replace_all(args, "\n", "\\n"); - buf += args; - } else { - buf += ""; - } - - return buf; + return Empty; } Value HostsTable::EventHandlerAccessor(const Value& row) diff --git a/components/livestatus/servicestable.cpp b/components/livestatus/servicestable.cpp index 4a47da1b6..db1bec349 100644 --- a/components/livestatus/servicestable.cpp +++ b/components/livestatus/servicestable.cpp @@ -200,42 +200,12 @@ Value ServicesTable::CheckCommandExpandedAccessor(const Value& row) if (!service) return Empty; - CheckCommand::Ptr commandObj = service->GetCheckCommand(); + CheckCommand::Ptr checkcommand = service->GetCheckCommand(); - if (!commandObj) - return Empty; + if (checkcommand) + return checkcommand->GetName(); /* this is the name without '!' args */ - Value raw_command = commandObj->GetCommandLine(); - - std::vector resolvers; - resolvers.push_back(service); - resolvers.push_back(service->GetHost()); - resolvers.push_back(commandObj); - resolvers.push_back(IcingaApplication::GetInstance()); - - Value commandLine = MacroProcessor::ResolveMacros(raw_command, resolvers, CheckResult::Ptr(), Utility::EscapeShellCmd); - - String buf; - if (commandLine.IsObjectType()) { - Array::Ptr args = commandLine; - - ObjectLock olock(args); - String arg; - BOOST_FOREACH(arg, args) { - // This is obviously incorrect for non-trivial cases. - String argitem = " \"" + arg + "\""; - boost::algorithm::replace_all(argitem, "\n", "\\n"); - buf += argitem; - } - } else if (!commandLine.IsEmpty()) { - String args = Convert::ToString(commandLine); - boost::algorithm::replace_all(args, "\n", "\\n"); - buf += args; - } else { - buf += ""; - } - - return buf; + return Empty; } Value ServicesTable::EventHandlerAccessor(const Value& row)