traceroute: fix help text to not show -6 when traceroute6 is off
[oweals/busybox.git] / shell / bbsh.c
index 02e60508fb2032fd4f382c168d65ea901d3d3605..c3726263aeda8cc79a1fc1cdd3c5e64e82b1bb9d 100644 (file)
@@ -54,7 +54,7 @@ struct command {
        int flags;              // exit, suspend, && ||
        int pid;                // pid (or exit code)
        int argc;
-       char *argv[0];
+       char *argv[];
 };
 
 // A collection of processes piped into/waiting on each other.
@@ -167,8 +167,8 @@ static int run_pipeline(struct pipeline *line)
                if (!pid) {
                        run_applet_and_exit(cmd->argv[0],cmd->argc,cmd->argv);
                        execvp(cmd->argv[0],cmd->argv);
-                       printf("No %s",cmd->argv[0]);
-                       exit(1);
+                       printf("No %s", cmd->argv[0]);
+                       exit(EXIT_FAILURE);
                } else waitpid(pid, &status, 0);
        }
 
@@ -206,13 +206,13 @@ int bbsh_main(int argc, char **argv)
 
        getopt32(argv, "c:", &command);
 
-       f = argv[optind] ? xfopen(argv[optind],"r") : NULL;
+       f = argv[optind] ? xfopen_for_read(argv[optind]) : NULL;
        if (command) handle(command);
        else {
                unsigned cmdlen=0;
                for (;;) {
                        if (!f) putchar('$');
-                       if (1 > getline(&command, &cmdlen,f ? : stdin)) break;
+                       if (1 > getline(&command, &cmdlen, f ? f : stdin)) break;
 
                        handle(command);
                }