lash: fix compile-time warning
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 15 Nov 2007 17:47:45 +0000 (17:47 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 15 Nov 2007 17:47:45 +0000 (17:47 -0000)
shell/lash.c

index ce1ce7f..781dfdb 100644 (file)
@@ -157,8 +157,8 @@ static int shell_context;  /* Type prompt trigger (PS1 or PS2) */
 static char *cwd;
 static char *local_pending_command;
 static struct jobset job_list = { NULL, NULL };
-static int argc;
-static char **argv;
+static int global_argc;
+static char **global_argv;
 static llist_t *close_me_list;
 static int last_return_code;
 static int last_bg_pid;
@@ -810,16 +810,16 @@ static int expand_arguments(char *command)
                                var = itoa(getpid());
                                break;
                        case '#':
-                               var = itoa(argc-1);
+                               var = itoa(global_argc - 1);
                                break;
                        case '0':case '1':case '2':case '3':case '4':
                        case '5':case '6':case '7':case '8':case '9':
                                {
                                        int ixx = *(dst+1)-48+1;
-                                       if (ixx >= argc) {
+                                       if (ixx >= global_argc) {
                                                var = '\0';
                                        } else {
-                                               var = argv[ixx];
+                                               var = global_argv[ixx];
                                        }
                                }
                                break;
@@ -1492,12 +1492,13 @@ static inline void setup_job_control(void)
 #endif
 
 int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int lash_main(int argc_l, char **argv_l)
+int lash_main(int argc, char **argv)
 {
        unsigned opt;
        FILE *input = stdin;
-       argc = argc_l;
-       argv = argv_l;
+
+       global_argc = argc;
+       global_argv = argv;
 
 #if ENABLE_FEATURE_EDITING
        line_input_state = new_line_input_t(FOR_SHELL);
@@ -1510,7 +1511,7 @@ int lash_main(int argc_l, char **argv_l)
        job_list.fg = NULL;
        last_return_code = 1;
 
-       if (argv[0] && argv[0][0] == '-') {
+       if (global_argv[0] && global_argv[0][0] == '-') {
                FILE *prof_input;
                prof_input = fopen("/etc/profile", "r");
                if (prof_input) {
@@ -1522,13 +1523,13 @@ int lash_main(int argc_l, char **argv_l)
                }
        }
 
-       opt = getopt32(argv_l, "+ic:", &local_pending_command);
+       opt = getopt32(argv, "+ic:", &local_pending_command);
 #define LASH_OPT_i (1<<0)
 #define LASH_OPT_c (1<<1)
        if (opt & LASH_OPT_c) {
                input = NULL;
                optind++;
-               argv += optind;
+               global_argv += optind;
        }
        /* A shell is interactive if the `-i' flag was given, or if all of
         * the following conditions are met:
@@ -1537,7 +1538,7 @@ int lash_main(int argc_l, char **argv_l)
         *    standard input is a terminal
         *    standard output is a terminal
         *    Refer to Posix.2, the description of the `sh' utility. */
-       if (argv[optind] == NULL && input == stdin
+       if (global_argv[optind] == NULL && input == stdin
         && isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)
        ) {
                opt |= LASH_OPT_i;
@@ -1550,9 +1551,9 @@ int lash_main(int argc_l, char **argv_l)
                                        "Enter 'help' for a list of built-in commands.\n\n",
                                        bb_banner);
                }
-       } else if (!local_pending_command && argv[optind]) {
+       } else if (!local_pending_command && global_argv[optind]) {
                //printf( "optind=%d  argv[optind]='%s'\n", optind, argv[optind]);
-               input = xfopen(argv[optind], "r");
+               input = xfopen(global_argv[optind], "r");
                /* be lazy, never mark this closed */
                llist_add_to(&close_me_list, (void *)(long)fileno(input));
        }