diff options
| author | Jack Palevich <jackpal@google.com> | 2010-06-04 12:03:14 +0800 |
|---|---|---|
| committer | Jack Palevich <jackpal@google.com> | 2010-06-04 12:03:14 +0800 |
| commit | ad5431d2ca9c4dd454dfb3bc8e9de3ee0ad28a27 (patch) | |
| tree | 1cf34b2f81ce28ef5c6c81513d33e8ec97741003 /sh | |
| parent | 1bc4eae3492b5e5fd8afdb3bb92c63287e8e994c (diff) | |
| download | system_core-ad5431d2ca9c4dd454dfb3bc8e9de3ee0ad28a27.zip system_core-ad5431d2ca9c4dd454dfb3bc8e9de3ee0ad28a27.tar.gz system_core-ad5431d2ca9c4dd454dfb3bc8e9de3ee0ad28a27.tar.bz2 | |
Emit shell prompt even when in non-interactive mode.
Change-Id: If85c509efe13e4bdb40216c79d560ea7f83ba813
Diffstat (limited to 'sh')
| -rw-r--r-- | sh/input.c | 3 | ||||
| -rw-r--r-- | sh/input.h | 1 | ||||
| -rw-r--r-- | sh/parser.c | 4 |
3 files changed, 6 insertions, 2 deletions
@@ -175,6 +175,9 @@ pgetc(void) return pgetc_macro(); } +int in_interactive_mode() { + return parsefile != NULL && parsefile->fd == 0; +} static int preadfd(void) @@ -46,6 +46,7 @@ extern int parsenleft; /* number of characters left in input buffer */ extern char *parsenextc; /* next character in input buffer */ extern int init_editline; /* 0 == not setup, 1 == OK, -1 == failed */ +int in_interactive_mode(); char *pfgets(char *, int); int pgetc(void); int preadbuffer(void); diff --git a/sh/parser.c b/sh/parser.c index d956375..faf0268 100644 --- a/sh/parser.c +++ b/sh/parser.c @@ -1629,9 +1629,9 @@ setprompt(int which) if (!el) #endif #ifdef WITH_LINENOISE -#else - out2str(getprompt(NULL)); + if (! in_interactive_mode() ) #endif + out2str(getprompt(NULL)); } /* |
