]> git.cworth.org Git - apitrace/commitdiff
Invoke python when executing scripts.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Fri, 2 Mar 2012 10:34:54 +0000 (10:34 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 8 Mar 2012 09:20:03 +0000 (10:20 +0100)
More robust

cli/cli_diff.cpp
cli/cli_diff_images.cpp

index f03e02d118c207828c45c165842224806021c9e5..ffc0e303878ba9cc165d019df768b17433d2b806 100644 (file)
@@ -49,10 +49,11 @@ usage(void)
         exit(1);
     }
 
-    char *args[3];
-    args[0] = (char *) command.str();
-    args[1] = (char *) "--help";
-    args[2] = NULL;
+    char *args[4];
+    args[0] = (char *) "python";
+    args[1] = (char *) command.str();
+    args[2] = (char *) "--help";
+    args[3] = NULL;
 
     os::execute(args);
 }
@@ -69,7 +70,8 @@ command(int argc, char *argv[])
 
     os::String apitracePath = os::getProcessName();
 
-    std::vector<const char *>args;
+    std::vector<const char *> args;
+    args.push_back("python");
     args.push_back(command.str());
     args.push_back("--apitrace");
     args.push_back(apitracePath.str());
index 626a34fc7790f4a56fb5070d81f2246c9deb72db..3932fa24c51e8afcacb492ed2b0c704bf15196b5 100644 (file)
@@ -49,10 +49,11 @@ usage(void)
         exit(1);
     }
 
-    char *args[3];
-    args[0] = (char *) command.str();
-    args[1] = (char *) "--help";
-    args[2] = NULL;
+    char *args[4];
+    args[0] = (char *) "python";
+    args[1] = (char *) command.str();
+    args[2] = (char *) "--help";
+    args[3] = NULL;
 
     os::execute(args);
 }
@@ -61,25 +62,21 @@ static int
 command(int argc, char *argv[])
 {
     int i;
-    int ret;
 
     os::String command = find_command();
     if (!command.length()) {
         return 1;
     }
 
-    char **args = new char* [argc + 1];
-    args[0] = (char *) command.str();
+    std::vector<const char *> args;
+    args.push_back("python");
+    args.push_back(command.str());
     for (i = 1; i < argc; i++) {
-        args[i] = argv[i];
+        args.push_back(argv[i]);
     }
-    args[argc] = NULL;
+    args.push_back(NULL);
 
-    ret = os::execute(args);
-
-    delete [] args;
-
-    return ret;
+    return os::execute((char * const *)&args[0]);
 }
 
 const Command diff_images_command = {