aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2009-04-23 06:41:51 +1000
committerNguyễn Thái Ngọc Duy <pclouds@gmail.com>2009-04-23 06:41:51 +1000
commit0d9e54f7691bbfe8ca41c8f2fb899a1b4786d627 (patch)
tree4754ddd4433d7acac32f39b9a1230eace7a6d0ba /libbb
parent4dee81871d8ec57f554d969b00ff80ad404fac4e (diff)
downloadbusybox-w32-0d9e54f7691bbfe8ca41c8f2fb899a1b4786d627.tar.gz
busybox-w32-0d9e54f7691bbfe8ca41c8f2fb899a1b4786d627.tar.bz2
busybox-w32-0d9e54f7691bbfe8ca41c8f2fb899a1b4786d627.zip
run-command: rework interface to pass program path directly
Diffstat (limited to 'libbb')
-rw-r--r--libbb/mingw.c8
-rw-r--r--libbb/run-command.c2
2 files changed, 5 insertions, 5 deletions
diff --git a/libbb/mingw.c b/libbb/mingw.c
index e3ec2782c..4b267e2ba 100644
--- a/libbb/mingw.c
+++ b/libbb/mingw.c
@@ -812,12 +812,12 @@ static int spawn_gitbox_shell(struct child_process *cp, const char *cmd, const c
812 812
813 while (argv[argc]) argc++; 813 while (argv[argc]) argc++;
814 argv2 = xmalloc(sizeof(*argv) * (argc+3)); 814 argv2 = xmalloc(sizeof(*argv) * (argc+3));
815 argv2[0] = CONFIG_BUSYBOX_EXEC_PATH; 815 argv2[0] = "sh";
816 argv2[1] = "sh"; 816 argv2[1] = cmd;
817 argv2[2] = cmd; 817 memcpy(&argv2[2], &argv[1], sizeof(*argv)*argc);
818 memcpy(&argv2[3], &argv[1], sizeof(*argv)*argc);
819 818
820 memset(cp, 0, sizeof(*cp)); 819 memset(cp, 0, sizeof(*cp));
820 cp->cmd = CONFIG_BUSYBOX_EXEC_PATH;
821 cp->argv = argv2; 821 cp->argv = argv2;
822 ret = start_command(cp); 822 ret = start_command(cp);
823 free(argv2); 823 free(argv2);
diff --git a/libbb/run-command.c b/libbb/run-command.c
index d4d78e9bc..bac8f0e66 100644
--- a/libbb/run-command.c
+++ b/libbb/run-command.c
@@ -174,7 +174,7 @@ int start_command(struct child_process *cmd)
174 } 174 }
175#endif 175#endif
176 176
177 cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env); 177 cmd->pid = mingw_spawnvpe(cmd->cmd ? cmd->cmd : cmd->argv[0], cmd->argv, env);
178 178
179 if (cmd->env) 179 if (cmd->env)
180 free_environ(env); 180 free_environ(env);