aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2003-10-03 03:25:30 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2003-10-03 03:25:30 +0000
commitcb920d9778397628ca4f0e31b3e106ee82db6def (patch)
treec882576cab27fd24cad990c55183fce314135f08
parent91b3d460c719606391e24905ee4969524f8b3162 (diff)
downloadbusybox-w32-cb920d9778397628ca4f0e31b3e106ee82db6def.tar.gz
busybox-w32-cb920d9778397628ca4f0e31b3e106ee82db6def.tar.bz2
busybox-w32-cb920d9778397628ca4f0e31b3e106ee82db6def.zip
Patch from Rob Landley, Simplify organisation of arguments.
-rw-r--r--applets/busybox.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/applets/busybox.c b/applets/busybox.c
index 457a85a68..0acb428f4 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -98,7 +98,7 @@ int main(int argc, char **argv)
98 98
99int busybox_main(int argc, char **argv) 99int busybox_main(int argc, char **argv)
100{ 100{
101 int col = 0, len, i; 101 int col = 0;
102 102
103#ifdef CONFIG_FEATURE_INSTALLER 103#ifdef CONFIG_FEATURE_INSTALLER
104 /* 104 /*
@@ -161,18 +161,7 @@ int busybox_main(int argc, char **argv)
161 /* Flag that we've been here already */ 161 /* Flag that we've been here already */
162 been_there_done_that = 1; 162 been_there_done_that = 1;
163 163
164 /* Move the command line down a notch */ 164 return (main(argc-1, argv+1));
165 len = argv[argc] + strlen(argv[argc]) - argv[1];
166 memmove(argv[0], argv[1], len);
167 memset(argv[0] + len, 0, argv[1] - argv[0]);
168
169 /* Fix up the argv pointers */
170 len = argv[1] - argv[0];
171 memmove(argv, argv + 1, sizeof(char *) * (argc + 1));
172 for (i = 0; i < argc; i++)
173 argv[i] -= len;
174
175 return (main(argc, argv));
176} 165}
177 166
178/* 167/*