aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/msh.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/shell/msh.c b/shell/msh.c
index ee54ef2d4..65556043d 100644
--- a/shell/msh.c
+++ b/shell/msh.c
@@ -5337,19 +5337,22 @@ int msh_main(int argc, char **argv)
5337 5337
5338 if (signal(SIGINT, SIG_IGN) != SIG_IGN) 5338 if (signal(SIGINT, SIG_IGN) != SIG_IGN)
5339 signal(SIGINT, onintr); 5339 signal(SIGINT, onintr);
5340
5341/* Handle "msh SCRIPT VAR=val params..." */
5342/* Disabled: bash does not do it! */
5343#if 0
5344 argv++;
5345 /* skip leading args of the form VAR=val */
5346 while (*argv && assign(*argv, !COPYV)) {
5347 argc--;
5348 argv++;
5349 }
5350 argv--;
5351#endif
5340 dolv = argv; 5352 dolv = argv;
5341 dolc = argc; 5353 dolc = argc;
5342 dolv[0] = name; 5354 dolv[0] = name;
5343 if (dolc > 1) { 5355
5344 for (ap = ++argv; --argc > 0;) {
5345 *ap = *argv++;
5346 if (assign(*ap, !COPYV)) {
5347 dolc--; /* keyword */
5348 } else {
5349 ap++;
5350 }
5351 }
5352 }
5353 setval(lookup("#"), putn((--dolc < 0) ? (dolc = 0) : dolc)); 5356 setval(lookup("#"), putn((--dolc < 0) ? (dolc = 0) : dolc));
5354 5357
5355 DBGPRINTF(("MSH_MAIN: begin FOR loop, interactive %d, global_env.iop %p, iostack %p\n", interactive, global_env.iop, iostack)); 5358 DBGPRINTF(("MSH_MAIN: begin FOR loop, interactive %d, global_env.iop %p, iostack %p\n", interactive, global_env.iop, iostack));