aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-01-30 23:40:39 +0000
committerEric Andersen <andersen@codepoet.org>2001-01-30 23:40:39 +0000
commit22332fd26f7d37da7ae47c15ecab6edd6a107af3 (patch)
tree7a2de2ff3f12fcb11c085e2ffb932dcbfcc21c0b
parentac21e93a3fcac80d33cae6a69ef395fc74ba597b (diff)
downloadbusybox-w32-22332fd26f7d37da7ae47c15ecab6edd6a107af3.tar.gz
busybox-w32-22332fd26f7d37da7ae47c15ecab6edd6a107af3.tar.bz2
busybox-w32-22332fd26f7d37da7ae47c15ecab6edd6a107af3.zip
Patch from Bryan Rittmeyer -- be more conservative by default
with the lash prompt. -Erik
-rw-r--r--Config.h10
-rw-r--r--lash.c20
-rw-r--r--sh.c20
-rw-r--r--shell/lash.c20
4 files changed, 68 insertions, 2 deletions
diff --git a/Config.h b/Config.h
index b11d84903..3a5aa6182 100644
--- a/Config.h
+++ b/Config.h
@@ -262,9 +262,15 @@
262// Only relevant if BB_SH is enabled. 262// Only relevant if BB_SH is enabled.
263#define BB_FEATURE_SH_TAB_COMPLETION 263#define BB_FEATURE_SH_TAB_COMPLETION
264// 264//
265// Enable a simpler shell prompt of the form "path #" instead of the default
266// "[username@hostname path]#". Some deeply embedded systems don't have
267// usernames or even hostnames and the default prompt can look rather hideous
268// on them. Uncomment this option for a simpler, path-only prompt (which was
269// the default until around BusyBox-0.48):
270#define BB_FEATURE_SH_SIMPLE_PROMPT
271//
265// Attempts to match usernames in a ~-prefixed path 272// Attempts to match usernames in a ~-prefixed path
266// XXX: Doesn't work without NSS, off by default 273//#define BB_FEATURE_USERNAME_COMPLETION
267//#define BB_FEATURE_USERNAME_COMPLETION /* require NSS */
268// 274//
269//Turn on extra fbset options 275//Turn on extra fbset options
270//#define BB_FEATURE_FBSET_FANCY 276//#define BB_FEATURE_FBSET_FANCY
diff --git a/lash.c b/lash.c
index bd6945605..b3bdcc986 100644
--- a/lash.c
+++ b/lash.c
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
779 } 779 }
780} 780}
781 781
782#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
783static char* setup_prompt_string(int state)
784{
785 char prompt_str[BUFSIZ];
786
787 /* Set up the prompt */
788 if (state == 0) {
789 /* simple prompt */
790 sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# ");
791 } else {
792 strcpy(prompt_str,"> ");
793 }
794
795 return(strdup(prompt_str)); /* Must free this memory */
796}
797
798#else
799
782static char* setup_prompt_string(int state) 800static char* setup_prompt_string(int state)
783{ 801{
784 char user[9],buf[255],*s; 802 char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
810 return(strdup(prompt_str)); /* Must free this memory */ 828 return(strdup(prompt_str)); /* Must free this memory */
811} 829}
812 830
831#endif
832
813static int get_command(FILE * source, char *command) 833static int get_command(FILE * source, char *command)
814{ 834{
815 char *prompt_str; 835 char *prompt_str;
diff --git a/sh.c b/sh.c
index bd6945605..b3bdcc986 100644
--- a/sh.c
+++ b/sh.c
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
779 } 779 }
780} 780}
781 781
782#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
783static char* setup_prompt_string(int state)
784{
785 char prompt_str[BUFSIZ];
786
787 /* Set up the prompt */
788 if (state == 0) {
789 /* simple prompt */
790 sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# ");
791 } else {
792 strcpy(prompt_str,"> ");
793 }
794
795 return(strdup(prompt_str)); /* Must free this memory */
796}
797
798#else
799
782static char* setup_prompt_string(int state) 800static char* setup_prompt_string(int state)
783{ 801{
784 char user[9],buf[255],*s; 802 char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
810 return(strdup(prompt_str)); /* Must free this memory */ 828 return(strdup(prompt_str)); /* Must free this memory */
811} 829}
812 830
831#endif
832
813static int get_command(FILE * source, char *command) 833static int get_command(FILE * source, char *command)
814{ 834{
815 char *prompt_str; 835 char *prompt_str;
diff --git a/shell/lash.c b/shell/lash.c
index bd6945605..b3bdcc986 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[])
779 } 779 }
780} 780}
781 781
782#if defined(BB_FEATURE_SH_SIMPLE_PROMPT)
783static char* setup_prompt_string(int state)
784{
785 char prompt_str[BUFSIZ];
786
787 /* Set up the prompt */
788 if (state == 0) {
789 /* simple prompt */
790 sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# ");
791 } else {
792 strcpy(prompt_str,"> ");
793 }
794
795 return(strdup(prompt_str)); /* Must free this memory */
796}
797
798#else
799
782static char* setup_prompt_string(int state) 800static char* setup_prompt_string(int state)
783{ 801{
784 char user[9],buf[255],*s; 802 char user[9],buf[255],*s;
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state)
810 return(strdup(prompt_str)); /* Must free this memory */ 828 return(strdup(prompt_str)); /* Must free this memory */
811} 829}
812 830
831#endif
832
813static int get_command(FILE * source, char *command) 833static int get_command(FILE * source, char *command)
814{ 834{
815 char *prompt_str; 835 char *prompt_str;