]> granicus.if.org Git - icinga2/commitdiff
Fix external commands which take no arguments.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 11 Apr 2014 13:47:26 +0000 (15:47 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 11 Apr 2014 13:48:19 +0000 (15:48 +0200)
Fixes #5998

lib/icinga/externalcommandprocessor.cpp

index 23d829d48d22eace28dfc6dc4d98e0d5b578d0d6..01b3468d98d3d72573d72c3dab24ff79d788a18c 100644 (file)
@@ -122,18 +122,19 @@ void ExternalCommandProcessor::Execute(double time, const String& command, const
        std::vector<String> realArguments;
        realArguments.resize(argnum);
 
-       if (arguments.size() > 0)
+       if (argnum > 0) {
                std::copy(arguments.begin(), arguments.begin() + argnum - 1, realArguments.begin());
        
-       String last_argument;
-       for (int i = argnum - 1; i < arguments.size(); i++) {
-               if (!last_argument.IsEmpty())
-                       last_argument += ";";
+               String last_argument;
+               for (int i = argnum - 1; i < arguments.size(); i++) {
+                       if (!last_argument.IsEmpty())
+                               last_argument += ";";
 
-               last_argument += arguments[i];
-       }
+                       last_argument += arguments[i];
+               }
 
-       realArguments[argnum - 1] = last_argument;
+               realArguments[argnum - 1] = last_argument;
+       }
 
        OnNewExternalCommand(time, command, realArguments);