(WinMain): Add quotes around executable name.
authorJason Rumney <jasonr@gnu.org>
Wed, 20 Jun 2001 22:40:29 +0000 (22:40 +0000)
committerJason Rumney <jasonr@gnu.org>
Wed, 20 Jun 2001 22:40:29 +0000 (22:40 +0000)
nt/ChangeLog
nt/runemacs.c

index 05ffbd0..fb72221 100644 (file)
@@ -1,3 +1,7 @@
+2001-06-20  Jason Rumney  <jasonr@gnu.org>
+
+       * runemacs.c (WinMain): Add quotes around command in case of spaces.
+
 2001-06-01  Andrew Innes  <andrewi@gnu.org>
 
        * gmake.defs (sh_output): Don't use $(warning ...) to output
index b918bec..2f114ae 100644 (file)
@@ -44,8 +44,10 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow)
     goto error;
   *p = 0;
 
-  new_cmdline = alloca (MAX_PATH + strlen (cmdline) + 1);
-  strcpy (new_cmdline, modname);
+  new_cmdline = alloca (MAX_PATH + strlen (cmdline) + 3);
+  /* Quote executable name in case of spaces in the path. */
+  *new_cmdline = '"';
+  strcpy (new_cmdline + 1, modname);
 
 #ifdef CHOOSE_NEWEST_EXE
   {
@@ -57,7 +59,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow)
     WIN32_FIND_DATA wfd;
     HANDLE fh;
     p = new_cmdline + strlen (new_cmdline);
-    strcpy (p, "\\emacs*.exe ");
+    strcpy (p, "\\emacs*.exe\" ");
     fh = FindFirstFile (new_cmdline, &wfd);
     if (fh == INVALID_HANDLE_VALUE)
       goto error;
@@ -78,7 +80,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow)
     strcat (p, " ");
   }
 #else
-  strcat (new_cmdline, "\\emacs.exe ");
+  strcat (new_cmdline, "\\emacs.exe\" ");
 #endif
 
   /* Append original arguments if any; first look for arguments we