Fix the pwd and group functions. The bb_ stuff was a leftover from
[oweals/busybox.git] / lash.c
diff --git a/lash.c b/lash.c
index 98d6b65a6132e47278527e59ce954e8ecd66f5f6..bd6945605867c4b5ccfda9be50ea64b713dd7bb9 100644 (file)
--- a/lash.c
+++ b/lash.c
@@ -2,7 +2,7 @@
 /*
  * lash -- the BusyBox Lame-Ass SHell
  *
- * Copyright (C) 2000 by Lineo, inc.
+ * Copyright (C) 1999,2000,2001 by Lineo, inc.
  * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
  *
  * Based in part on ladsh.c by Michael K. Johnson and Erik W. Troan, which is
@@ -64,8 +64,8 @@
 #include <getopt.h>
 #include "cmdedit.h"
 
-#define MAX_LINE       256     /* size of input buffer for cwd data */
-#define MAX_READ       128     /* size of input buffer for `read' builtin */
+static const int MAX_LINE = 256;       /* size of input buffer for cwd data */
+static const int MAX_READ = 128;       /* size of input buffer for `read' builtin */
 #define JOB_STATUS_FORMAT "[%d] %-22s %.40s\n"
 extern size_t NUM_APPLETS;
 
@@ -290,7 +290,7 @@ static int builtin_env(struct child_prog *dummy)
        char **e;
 
        for (e = environ; *e; e++) {
-               fprintf(stdout, "%s\n", *e);
+               printf( "%s\n", *e);
        }
        return (0);
 }
@@ -406,7 +406,7 @@ static int builtin_jobs(struct child_prog *child)
 static int builtin_pwd(struct child_prog *dummy)
 {
        getcwd(cwd, MAX_LINE);
-       fprintf(stdout, "%s\n", cwd);
+       printf( "%s\n", cwd);
        return EXIT_SUCCESS;
 }
 
@@ -566,7 +566,7 @@ static int builtin_source(struct child_prog *child)
 
        input = fopen(child->argv[1], "r");
        if (!input) {
-               fprintf(stdout, "Couldn't open file '%s'\n", child->argv[1]);
+               printf( "Couldn't open file '%s'\n", child->argv[1]);
                return EXIT_FAILURE;
        }
 
@@ -583,7 +583,7 @@ static int builtin_source(struct child_prog *child)
 static int builtin_unset(struct child_prog *child)
 {
        if (child->argv[1] == NULL) {
-               fprintf(stdout, "unset: parameter required.\n");
+               printf( "unset: parameter required.\n");
                return EXIT_FAILURE;
        }
        unsetenv(child->argv[1]);
@@ -1665,8 +1665,6 @@ static int busy_loop(FILE * input)
 #ifdef BB_FEATURE_CLEAN_UP
 void free_memory(void)
 {
-       if (prompt_str)
-               free(prompt_str);
        if (cwd)
                free(cwd);
        if (local_pending_command)
@@ -1688,7 +1686,7 @@ int shell_main(int argc_l, char **argv_l)
 
        shell_context = 0;
        cwd=NULL;
-#ifdef BB_FEATURE_STANDALONE_SHELL
+#ifdef BB_FEATURE_SH_STANDALONE_SHELL
        /* These variables need re-initializing when recursing */
        local_pending_command = NULL;
        job_list.head = NULL;
@@ -1704,7 +1702,7 @@ int shell_main(int argc_l, char **argv_l)
                FILE *prof_input;
                prof_input = fopen("/etc/profile", "r");
                if (!prof_input) {
-                       fprintf(stdout, "Couldn't open file '/etc/profile'\n");
+                       printf( "Couldn't open file '/etc/profile'\n");
                } else {
                        int tmp_fd = fileno(prof_input);
                        mark_open(tmp_fd);      
@@ -1749,12 +1747,12 @@ int shell_main(int argc_l, char **argv_l)
                interactive=TRUE;
        }
        if (interactive==TRUE) {
-               //fprintf(stdout, "optind=%d  argv[optind]='%s'\n", optind, argv[optind]);
+               //printf( "optind=%d  argv[optind]='%s'\n", optind, argv[optind]);
                /* Looks like they want an interactive shell */
-               fprintf(stdout, "\n\nBusyBox v%s (%s) Built-in shell (lash)\n", BB_VER, BB_BT);
-               fprintf(stdout, "Enter 'help' for a list of built-in commands.\n\n");
+               printf( "\n\nBusyBox v%s (%s) Built-in shell (lash)\n", BB_VER, BB_BT);
+               printf( "Enter 'help' for a list of built-in commands.\n\n");
        } else if (local_pending_command==NULL) {
-               //fprintf(stdout, "optind=%d  argv[optind]='%s'\n", optind, argv[optind]);
+               //printf( "optind=%d  argv[optind]='%s'\n", optind, argv[optind]);
                input = xfopen(argv[optind], "r");
                mark_open(fileno(input));  /* be lazy, never mark this closed */
        }