[git commit] ash: fix display of ">&-" redirect in job strings

Denys Vlasenko vda.linux at googlemail.com
Mon Jul 31 12:32:18 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=d0fff9155bc55d9576be4c6ba5f656f5b4856ac4
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
cmdtxt                                               558     569     +11

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/ash.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/shell/ash.c b/shell/ash.c
index 5c2e065..9c61ce6 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4642,6 +4642,10 @@ cmdputs(const char *s)
 			/* These can only happen inside quotes */
 			cc[0] = c;
 			str = cc;
+//FIXME:
+// $ true $$ &
+// $ <cr>
+// [1]+  Done    true ${\$}   <<=== BUG: ${\$} is not a valid way to write $$ (${$} would be ok)
 			c = '\\';
 			break;
 		default:
@@ -4823,7 +4827,10 @@ cmdtxt(union node *n)
 		cmdputs(utoa(n->nfile.fd));
 		cmdputs(p);
 		if (n->type == NTOFD || n->type == NFROMFD) {
-			cmdputs(utoa(n->ndup.dupfd));
+			if (n->ndup.dupfd >= 0)
+				cmdputs(utoa(n->ndup.dupfd));
+			else
+				cmdputs("-");
 			break;
 		}
 		n = n->nfile.fname;


More information about the busybox-cvs mailing list