Move init of a bunch of globals into main so we are at least
[oweals/busybox.git] / shell / cmdedit.c
index eef1a88c81dd838592770274c5ee41fea850bb68..ec9939312a6ce57df86fd0cbe33496c53f5d15d3 100644 (file)
@@ -355,6 +355,10 @@ static void parse_prompt(const char *prmt_ptr)
        char  c;
        char *pbuf;
 
+       if (!pwd_buf) {
+               pwd_buf=unknown;
+       }
+
        while (*prmt_ptr) {
                pbuf    = buf;
                pbuf[1] = 0;
@@ -1211,7 +1215,8 @@ extern void cmdedit_read_input(char *prompt, char command[BUFSIZ])
                fflush(stdout);                 /* buffered out to fast */
 
                if (read(inputFd, &c, 1) < 1)
-                       return;
+                       /* if we can't read input then exit */
+                       goto prepare_to_die;
 
                switch (c) {
                case '\n':
@@ -1243,6 +1248,7 @@ extern void cmdedit_read_input(char *prompt, char command[BUFSIZ])
                        /* Control-d -- Delete one character, or exit
                         * if the len=0 and no chars to delete */
                        if (len == 0) {
+prepare_to_die:
                                printf("exit");
                                clean_up_and_die(0);
                        } else {