aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/pex-win32.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 0bd3266..599fab3 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -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.
diff --git a/libiberty/pex-win32.c b/libiberty/pex-win32.c
index 27a5bb4..2b4abdf 100644
--- a/libiberty/pex-win32.c
+++ b/libiberty/pex-win32.c
@@ -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 = '\\';