merge from gcc
authorDJ Delorie <dj@redhat.com>
Mon, 31 May 2004 13:27:45 +0000 (13:27 +0000)
committerDJ Delorie <dj@redhat.com>
Mon, 31 May 2004 13:27:45 +0000 (13:27 +0000)
libiberty/ChangeLog
libiberty/pex-win32.c

index 0bd3266ca327d7bb500bf995f80a0fe54a41287c..599fab3304e8901be31fe516b17098bffc8be7b9 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * pex-win32.c (fix_argv): Expand comment.
+
 2004-05-25  Daniel Jacobowitz  <drow@false.org>
 
        * Makefile.in: Add .NOEXPORT.
index 27a5bb4e309ea5885122a35cdc715684f49d665f..2b4abdffbf95cd82761be411cf01f8f2eb7fb2cc 100644 (file)
@@ -59,7 +59,12 @@ fix_argv (argvec)
   int i;
   char * command0 = argvec[0];
 
-  /* Ensure that the executable pathname uses Win32 backslashes.  */
+  /* Ensure that the executable pathname uses Win32 backslashes. This
+     is not necessary on NT, but on W9x, forward slashes causes failure
+     of spawn* and exec* functions (and probably any function that
+     calls CreateProcess) *iff* the executable pathname (argvec[0]) is
+     a quoted string.  And quoting is necessary in case a pathname
+     contains  embedded white space. You can't win.  */
   for (; *command0 != '\0'; command0++)
     if (*command0 == '/')
       *command0 = '\\';