aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2010-06-04 08:16:25 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-06-04 08:16:25 -0700
commitc491fdc6f5436245783c1a61cf0dee8ca0b8277d (patch)
tree4204cbfa4e3c8c0da79259479ed9a4a2b1a3eddb
parent982a815c10cc28707d81c46112fc45b1c10df3be (diff)
parent6be163b167e986b4fafda9290e5d74fc3945b273 (diff)
downloadsystem_core-c491fdc6f5436245783c1a61cf0dee8ca0b8277d.tar.gz
system_core-c491fdc6f5436245783c1a61cf0dee8ca0b8277d.tar.bz2
system_core-c491fdc6f5436245783c1a61cf0dee8ca0b8277d.zip
am 6be163b1: merge from open-source master
Merge commit '6be163b167e986b4fafda9290e5d74fc3945b273' into kraken * commit '6be163b167e986b4fafda9290e5d74fc3945b273': Emit shell prompt even when in non-interactive mode.
-rw-r--r--sh/input.c3
-rw-r--r--sh/input.h1
-rw-r--r--sh/parser.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/sh/input.c b/sh/input.c
index bfb80f46..056ee8b6 100644
--- a/sh/input.c
+++ b/sh/input.c
@@ -175,6 +175,9 @@ pgetc(void)
return pgetc_macro();
}
+int in_interactive_mode() {
+ return parsefile != NULL && parsefile->fd == 0;
+}
static int
preadfd(void)
diff --git a/sh/input.h b/sh/input.h
index a9d3a12b..99c1b77b 100644
--- a/sh/input.h
+++ b/sh/input.h
@@ -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 d956375e..faf0268f 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));
}
/*