aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2021-02-14 12:27:27 +0000
committerRon Yorston <rmy@pobox.com>2021-02-14 12:27:27 +0000
commit4340e4d3d581c438a8634868c838f73b9018fb8b (patch)
tree6a58026ab635aa819524360f81d6799bd7aa1dab
parent0168043f32e0ed03e3742d0b5768c49c1df27bff (diff)
downloadbusybox-w32-4340e4d3d581c438a8634868c838f73b9018fb8b.tar.gz
busybox-w32-4340e4d3d581c438a8634868c838f73b9018fb8b.tar.bz2
busybox-w32-4340e4d3d581c438a8634868c838f73b9018fb8b.zip
ash: code shrink
Since there's only one call to mingw_spawn_forkshell() we might as well just call spawnve() directly from ash.
-rw-r--r--include/mingw.h1
-rw-r--r--shell/ash.c2
-rw-r--r--win32/process.c9
3 files changed, 1 insertions, 11 deletions
diff --git a/include/mingw.h b/include/mingw.h
index e2c02babf..f16d086e2 100644
--- a/include/mingw.h
+++ b/include/mingw.h
@@ -484,7 +484,6 @@ int utimes(const char *file_name, const struct timeval times[2]);
484pid_t FAST_FUNC mingw_spawn(char **argv); 484pid_t FAST_FUNC mingw_spawn(char **argv);
485pid_t FAST_FUNC mingw_spawn_detach(char **argv); 485pid_t FAST_FUNC mingw_spawn_detach(char **argv);
486intptr_t FAST_FUNC mingw_spawn_proc(const char **argv); 486intptr_t FAST_FUNC mingw_spawn_proc(const char **argv);
487intptr_t FAST_FUNC mingw_spawn_forkshell(const char **argv);
488int mingw_execv(const char *cmd, char *const *argv); 487int mingw_execv(const char *cmd, char *const *argv);
489int mingw_execvp(const char *cmd, char *const *argv); 488int mingw_execvp(const char *cmd, char *const *argv);
490int mingw_execve(const char *cmd, char *const *argv, char *const *envp); 489int mingw_execve(const char *cmd, char *const *argv, char *const *envp);
diff --git a/shell/ash.c b/shell/ash.c
index f8a18cdc5..5c6eb5759 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -15713,7 +15713,7 @@ spawn_forkshell(struct forkshell *fs, struct job *jp, union node *n, int mode)
15713 new->nprocs = jp == NULL ? 0 : jp->nprocs; 15713 new->nprocs = jp == NULL ? 0 : jp->nprocs;
15714 sprintf(buf, "%p", new->hMapFile); 15714 sprintf(buf, "%p", new->hMapFile);
15715 argv[2] = buf; 15715 argv[2] = buf;
15716 ret = mingw_spawn_forkshell(argv); 15716 ret = spawnve(P_NOWAIT, bb_busybox_exec_path, (char *const *)argv, environ);
15717 CloseHandle(new->hMapFile); 15717 CloseHandle(new->hMapFile);
15718 UnmapViewOfFile(new); 15718 UnmapViewOfFile(new);
15719 if (ret == -1) { 15719 if (ret == -1) {
diff --git a/win32/process.c b/win32/process.c
index 6e758e601..9e0740d6d 100644
--- a/win32/process.c
+++ b/win32/process.c
@@ -400,15 +400,6 @@ mingw_spawn_proc(const char **argv)
400 return mingw_spawn_1(P_NOWAIT, argv[0], (char *const *)argv, environ); 400 return mingw_spawn_1(P_NOWAIT, argv[0], (char *const *)argv, environ);
401} 401}
402 402
403#if ENABLE_ASH || ENABLE_SH_IS_ASH || ENABLE_BASH_IS_ASH
404intptr_t FAST_FUNC
405mingw_spawn_forkshell(const char **argv)
406{
407 return spawnve(P_NOWAIT, bb_busybox_exec_path, (char *const *)argv,
408 environ);
409}
410#endif
411
412int 403int
413mingw_execvp(const char *cmd, char *const *argv) 404mingw_execvp(const char *cmd, char *const *argv)
414{ 405{