diff options
author | Ron Yorston <rmy@pobox.com> | 2012-05-10 10:16:22 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2012-05-10 10:16:22 +0100 |
commit | 8ed4a312b78eb0c243267978b776a443ddb55a83 (patch) | |
tree | 0cb0183d936258b82b7f3fc624dbc4103628ab63 | |
parent | 7e572c27e15f5ca458dd02a745b20d1dbbc9f1f6 (diff) | |
download | busybox-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.c | 4 |
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 | |||
290 | pid_t | 290 | pid_t |
291 | mingw_spawn(char **argv) | 291 | mingw_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 | ||
296 | int | 296 | int |