aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-10-31 10:40:37 +0000
committerEric Andersen <andersen@codepoet.org>2001-10-31 10:40:37 +0000
commit69a20f0aca1f4146210fe8c39c8638671e6558c5 (patch)
tree12c29b829d122188bbdd61cf78a05b2d69be832b
parent6cf47a79acfef8dbe4e651560f59200978b656b1 (diff)
downloadbusybox-w32-69a20f0aca1f4146210fe8c39c8638671e6558c5.tar.gz
busybox-w32-69a20f0aca1f4146210fe8c39c8638671e6558c5.tar.bz2
busybox-w32-69a20f0aca1f4146210fe8c39c8638671e6558c5.zip
Patch from ASA <llb@udm.net.ru> to that source files
are properly passed their arguments.
-rw-r--r--shell/ash.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 0c893998d..a1029fa05 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -359,9 +359,10 @@ static int stacknleft = MINSIZE;
359 359
360#ifdef DEBUG 360#ifdef DEBUG
361#define TRACE(param) trace param 361#define TRACE(param) trace param
362typedef union node unode;
362static void trace (const char *, ...); 363static void trace (const char *, ...);
363static void trargs (char **); 364static void trargs (char **);
364static void showtree (union node *); 365static void showtree (unode *);
365static void trputc (int); 366static void trputc (int);
366static void trputs (const char *); 367static void trputs (const char *);
367static void opentrace (void); 368static void opentrace (void);
@@ -1580,8 +1581,10 @@ static int typecmd (int, char **);
1580static int getoptscmd (int, char **); 1581static int getoptscmd (int, char **);
1581#endif 1582#endif
1582 1583
1583#ifndef CONFIG_TRUE_FALSE 1584#ifndef CONFIG_TRUE
1584static int true_main (int, char **); 1585static int true_main (int, char **);
1586#endif
1587#ifndef CONFIG_FALSE
1585static int false_main (int, char **); 1588static int false_main (int, char **);
1586#endif 1589#endif
1587 1590
@@ -3073,7 +3076,7 @@ returncmd(argc, argv)
3073} 3076}
3074 3077
3075 3078
3076#ifndef CONFIG_TRUE_FALSE 3079#ifndef CONFIG_FALSE
3077static int 3080static int
3078false_main(argc, argv) 3081false_main(argc, argv)
3079 int argc; 3082 int argc;
@@ -3081,8 +3084,9 @@ false_main(argc, argv)
3081{ 3084{
3082 return 1; 3085 return 1;
3083} 3086}
3087#endif
3084 3088
3085 3089#ifndef CONFIG_TRUE
3086static int 3090static int
3087true_main(argc, argv) 3091true_main(argc, argv)
3088 int argc; 3092 int argc;
@@ -7868,6 +7872,7 @@ dotcmd(argc, argv)
7868 char **argv; 7872 char **argv;
7869{ 7873{
7870 struct strlist *sp; 7874 struct strlist *sp;
7875 volatile struct shparam saveparam;
7871 exitstatus = 0; 7876 exitstatus = 0;
7872 7877
7873 for (sp = cmdenviron; sp ; sp = sp->next) 7878 for (sp = cmdenviron; sp ; sp = sp->next)
@@ -7879,10 +7884,24 @@ dotcmd(argc, argv)
7879 7884
7880 setstackmark(&smark); 7885 setstackmark(&smark);
7881 fullname = find_dot_file(argv[1]); 7886 fullname = find_dot_file(argv[1]);
7887
7888 if (argc>2) {
7889 saveparam = shellparam;
7890 shellparam.malloc = 0;
7891 shellparam.nparam = argc - 2;
7892 shellparam.p = argv + 2;
7893 };
7894
7882 setinputfile(fullname, 1); 7895 setinputfile(fullname, 1);
7883 commandname = fullname; 7896 commandname = fullname;
7884 cmdloop(0); 7897 cmdloop(0);
7885 popfile(); 7898 popfile();
7899
7900 if (argc>2) {
7901 freeparam(&shellparam);
7902 shellparam = saveparam;
7903 };
7904
7886 popstackmark(&smark); 7905 popstackmark(&smark);
7887 } 7906 }
7888 return exitstatus; 7907 return exitstatus;
@@ -11444,7 +11463,7 @@ static void trstring (char *);
11444 11463
11445static void 11464static void
11446showtree(n) 11465showtree(n)
11447 union node *n; 11466 unode *n;
11448{ 11467{
11449 trputs("showtree called\n"); 11468 trputs("showtree called\n");
11450 shtree(n, 1, NULL, stdout); 11469 shtree(n, 1, NULL, stdout);
@@ -12631,7 +12650,7 @@ findvar(struct var **vpp, const char *name)
12631/* 12650/*
12632 * Copyright (c) 1999 Herbert Xu <herbert@debian.org> 12651 * Copyright (c) 1999 Herbert Xu <herbert@debian.org>
12633 * This file contains code for the times builtin. 12652 * This file contains code for the times builtin.
12634 * $Id: ash.c,v 1.32 2001/10/28 05:12:18 andersen Exp $ 12653 * $Id: ash.c,v 1.33 2001/10/31 10:40:37 andersen Exp $
12635 */ 12654 */
12636static int timescmd (int argc, char **argv) 12655static int timescmd (int argc, char **argv)
12637{ 12656{