aboutsummaryrefslogtreecommitdiff
path: root/shell/hush.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-10 20:13:40 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-10 20:13:40 +0000
commit43360e51781942730f91bb19821e3f8f1087e4fa (patch)
treeaed87780129aa4f24a47c868c1067bf44b92a55b /shell/hush.c
parent2e76c3f9016f674dad7a38ec7ba5b068d233f189 (diff)
downloadbusybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.tar.gz
busybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.tar.bz2
busybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.zip
hush: fix escaping of \[*?; add testsuites for these and for globbing
Diffstat (limited to 'shell/hush.c')
-rw-r--r--shell/hush.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 82bad664d..e57f6e371 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -3638,7 +3638,6 @@ static int parse_stream(o_string *dest, struct p_context *ctx,
3638 debug_printf_parse("parse_stream return 1: \\<eof>\n"); 3638 debug_printf_parse("parse_stream return 1: \\<eof>\n");
3639 return 1; 3639 return 1;
3640 } 3640 }
3641 o_addqchr(dest, '\\', dest->o_quote);
3642 o_addqchr(dest, i_getch(input), dest->o_quote); 3641 o_addqchr(dest, i_getch(input), dest->o_quote);
3643 break; 3642 break;
3644 case '$': 3643 case '$':
@@ -3653,7 +3652,7 @@ static int parse_stream(o_string *dest, struct p_context *ctx,
3653 ch = i_getch(input); 3652 ch = i_getch(input);
3654 if (ch == EOF || ch == '\'') 3653 if (ch == EOF || ch == '\'')
3655 break; 3654 break;
3656 o_addchr(dest, ch); 3655 o_addqchr(dest, ch, 1);
3657 } 3656 }
3658 if (ch == EOF) { 3657 if (ch == EOF) {
3659 syntax("unterminated '"); 3658 syntax("unterminated '");