Use the "direct object" form of system() to run WebKit.exe
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2011 17:47:13 +0000 (17:47 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2011 17:47:13 +0000 (17:47 +0000)
This prevents the shell from parsing (and possibly splitting, if it contains spaces) the
path to WebKit.exe.

Fixes <http://webkit.org/b/68623> run-safari doesn't work if there are spaces in the path to
%WEBKITOUTPUTDIR%

Reviewed by Steve Falkenburg.

* Scripts/webkitdirs.pm:
(runSafari):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

index e2c9c72..7f76c77 100644 (file)
@@ -1,5 +1,20 @@
 2011-09-22  Adam Roben  <aroben@apple.com>
 
+        Use the "direct object" form of system() to run WebKit.exe
+
+        This prevents the shell from parsing (and possibly splitting, if it contains spaces) the
+        path to WebKit.exe.
+
+        Fixes <http://webkit.org/b/68623> run-safari doesn't work if there are spaces in the path to
+        %WEBKITOUTPUTDIR%
+
+        Reviewed by Steve Falkenburg.
+
+        * Scripts/webkitdirs.pm:
+        (runSafari):
+
+2011-09-22  Adam Roben  <aroben@apple.com>
+
         Quote the WEBKITLIBRARIESDIR path before passing it to the shell/cygpath
 
         Fixes <http://webkit.org/b/68621> build-webkit goes totally haywire on Windows if there are
index 410f58b..13133b6 100644 (file)
@@ -2028,7 +2028,8 @@ sub runSafari
             chomp($safariPath = `cygpath -wa "$safariPath"`);
             $result = system $vcBuildPath, "/debugexe", "\"$safariPath\"", @ARGV;
         } else {
-            $result = system File::Spec->catfile(productDir(), "WebKit.exe"), @ARGV;
+            my $webKitLauncherPath = File::Spec->catfile(productDir(), "WebKit.exe");
+            $result = system { $webKitLauncherPath } $webKitLauncherPath, @ARGV;
         }
         return $result if $result;
     }