From 2a6d29ad5ce652c03ed8324a0d14f62594f2dd84 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 25 Oct 2016 21:17:52 +0200 Subject: ash: [PARSER] Do not show prompts in expandstr Upstream patch: Date: Thu, 27 Dec 2007 13:57:07 +1100 [PARSER] Do not show prompts in expandstr Once I fixed the previous problem it became apparent that we never dealt with prompts with new-lines in them correctly. The problem is that we showed a secondary prompt for each of them. This patch disables prompt generation in expandstr. Signed-off-by: Herbert Xu function old new delta expandstr 102 127 +25 Signed-off-by: Denys Vlasenko --- shell/ash.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'shell/ash.c') diff --git a/shell/ash.c b/shell/ash.c index 527abc7b1..dc0f60747 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -12276,11 +12276,17 @@ static const char * expandstr(const char *ps) { union node n; + int saveprompt; /* XXX Fix (char *) cast. It _is_ a bug. ps is variable's value, * and token processing _can_ alter it (delete NULs etc). */ setinputstring((char *)ps); + + saveprompt = doprompt; + doprompt = 0; readtoken1(pgetc(), PSSYNTAX, nullstr, 0); + doprompt = saveprompt; + popfile(); n.narg.type = NARG; -- cgit v1.2.3