aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2012-05-10 10:16:22 +0100
committerRon Yorston <rmy@pobox.com>2012-05-10 10:16:22 +0100
commit8ed4a312b78eb0c243267978b776a443ddb55a83 (patch)
tree0cb0183d936258b82b7f3fc624dbc4103628ab63
parent7e572c27e15f5ca458dd02a745b20d1dbbc9f1f6 (diff)
downloadbusybox-w32-8ed4a312b78eb0c243267978b776a443ddb55a83.tar.gz
busybox-w32-8ed4a312b78eb0c243267978b776a443ddb55a83.tar.bz2
busybox-w32-8ed4a312b78eb0c243267978b776a443ddb55a83.zip
mingw32: fix off-by-one errors in spawn routines
There are two changes here. The first, in mingw_spawn_1, removes a post-increment of argv which should have no effect. The second, in mingw_spawn, should fix a reported problem with xargs: https://github.com/pclouds/busybox-w32/issues/19 Basically, 'find . -type f | xargs md5sum' was failing to process the first file.
-rw-r--r--win32/process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/win32/process.c b/win32/process.c
index 0db1a455a..53ad44a42 100644
--- a/win32/process.c
+++ b/win32/process.c
@@ -261,7 +261,7 @@ mingw_spawn_1(int mode, const char *cmd, const char *const *argv, const char *co
261 261
262 if (ENABLE_FEATURE_PREFER_APPLETS && 262 if (ENABLE_FEATURE_PREFER_APPLETS &&
263 find_applet_by_name(cmd) >= 0) 263 find_applet_by_name(cmd) >= 0)
264 return mingw_spawn_applet(mode, cmd, argv++, envp); 264 return mingw_spawn_applet(mode, cmd, argv, envp);
265 else if (is_absolute_path(cmd)) 265 else if (is_absolute_path(cmd))
266 return mingw_spawn_interpreter(mode, cmd, argv, envp); 266 return mingw_spawn_interpreter(mode, cmd, argv, envp);
267 else { 267 else {
@@ -290,7 +290,7 @@ mingw_spawn_1(int mode, const char *cmd, const char *const *argv, const char *co
290pid_t 290pid_t
291mingw_spawn(char **argv) 291mingw_spawn(char **argv)
292{ 292{
293 return mingw_spawn_1(P_NOWAIT, argv[0], (const char *const *)(argv+1), (const char *const *)environ); 293 return mingw_spawn_1(P_NOWAIT, argv[0], (const char *const *)argv, (const char *const *)environ);
294} 294}
295 295
296int 296int