Patch from Bryan Rittmeyer -- be more conservative by default
authorEric Andersen <andersen@codepoet.org>
Tue, 30 Jan 2001 23:40:39 +0000 (23:40 -0000)
committerEric Andersen <andersen@codepoet.org>
Tue, 30 Jan 2001 23:40:39 +0000 (23:40 -0000)
with the lash prompt.
 -Erik

Config.h
lash.c
sh.c
shell/lash.c

index b11d84903555302449b4b3e91a3e5891126eb977..3a5aa6182b62b3b69df4c2ddf2dcd1ca503d96c5 100644 (file)
--- a/Config.h
+++ b/Config.h
 // Only relevant if BB_SH is enabled.
 #define BB_FEATURE_SH_TAB_COMPLETION
 //
+// Enable a simpler shell prompt of the form "path #" instead of the default
+// "[username@hostname path]#".  Some deeply embedded systems don't have
+// usernames or even hostnames and the default prompt can look rather hideous
+// on them. Uncomment this option for a simpler, path-only prompt (which was
+// the default until around BusyBox-0.48):
+#define BB_FEATURE_SH_SIMPLE_PROMPT
+//
 // Attempts to match usernames in a ~-prefixed path
-// XXX: Doesn't work without NSS, off by default
-//#define BB_FEATURE_USERNAME_COMPLETION  /* require NSS */
+//#define BB_FEATURE_USERNAME_COMPLETION
 //
 //Turn on extra fbset options
 //#define BB_FEATURE_FBSET_FANCY
diff --git a/lash.c b/lash.c
index bd6945605867c4b5ccfda9be50ea64b713dd7bb9..b3bdcc986a41648ed73c7812133cf5cfa2bc8a49 100644 (file)
--- a/lash.c
+++ b/lash.c
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
        }
 }
 
+#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
+static char* setup_prompt_string(int state)
+{
+       char prompt_str[BUFSIZ];
+
+       /* Set up the prompt */
+       if (state == 0) {
+               /* simple prompt */
+               sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ?  "$ ":"# ");
+       } else {
+               strcpy(prompt_str,"> ");
+       }
+
+       return(strdup(prompt_str));  /* Must free this memory */
+}
+
+#else
+
 static char* setup_prompt_string(int state)
 {
        char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
        return(strdup(prompt_str));  /* Must free this memory */
 }
 
+#endif 
+
 static int get_command(FILE * source, char *command)
 {
        char *prompt_str;
diff --git a/sh.c b/sh.c
index bd6945605867c4b5ccfda9be50ea64b713dd7bb9..b3bdcc986a41648ed73c7812133cf5cfa2bc8a49 100644 (file)
--- a/sh.c
+++ b/sh.c
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
        }
 }
 
+#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
+static char* setup_prompt_string(int state)
+{
+       char prompt_str[BUFSIZ];
+
+       /* Set up the prompt */
+       if (state == 0) {
+               /* simple prompt */
+               sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ?  "$ ":"# ");
+       } else {
+               strcpy(prompt_str,"> ");
+       }
+
+       return(strdup(prompt_str));  /* Must free this memory */
+}
+
+#else
+
 static char* setup_prompt_string(int state)
 {
        char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
        return(strdup(prompt_str));  /* Must free this memory */
 }
 
+#endif 
+
 static int get_command(FILE * source, char *command)
 {
        char *prompt_str;
index bd6945605867c4b5ccfda9be50ea64b713dd7bb9..b3bdcc986a41648ed73c7812133cf5cfa2bc8a49 100644 (file)
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
        }
 }
 
+#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
+static char* setup_prompt_string(int state)
+{
+       char prompt_str[BUFSIZ];
+
+       /* Set up the prompt */
+       if (state == 0) {
+               /* simple prompt */
+               sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ?  "$ ":"# ");
+       } else {
+               strcpy(prompt_str,"> ");
+       }
+
+       return(strdup(prompt_str));  /* Must free this memory */
+}
+
+#else
+
 static char* setup_prompt_string(int state)
 {
        char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
        return(strdup(prompt_str));  /* Must free this memory */
 }
 
+#endif 
+
 static int get_command(FILE * source, char *command)
 {
        char *prompt_str;