Applied, thanks!
On Sun, Apr 3, 2016 at 11:43 PM, Ron Yorston <[email protected]> wrote: > Bash doesn't expand its $'...' construct in double quotes: > > $ echo "$'a\tb'" > $'a\tb' > > Change BusyBox ash to do the same. This also fixes a problem with > here documents where BusyBox ash gave an incorrect result for: > > $ cat <<EOF > > '$' > > EOF > '$' > > Reported-by: Timo Teras <[email protected]> > Signed-off-by: Ron Yorston <[email protected]> > --- > shell/ash.c | 2 +- > shell/ash_test/ash-heredoc/heredoc4.right | 1 + > shell/ash_test/ash-heredoc/heredoc4.tests | 3 +++ > shell/ash_test/ash-quoting/dollar_squote_bash1.right | 1 + > shell/ash_test/ash-quoting/dollar_squote_bash1.tests | 1 + > 5 files changed, 7 insertions(+), 1 deletion(-) > create mode 100644 shell/ash_test/ash-heredoc/heredoc4.right > create mode 100755 shell/ash_test/ash-heredoc/heredoc4.tests > > diff --git a/shell/ash.c b/shell/ash.c > index 5613e1f..6ac0f15 100644 > --- a/shell/ash.c > +++ b/shell/ash.c > @@ -11500,7 +11500,7 @@ parsesub: { > || (c != '(' && c != '{' && !is_name(c) && !is_special(c)) > ) { > #if ENABLE_ASH_BASH_COMPAT > - if (c == '\'') > + if (syntax != DQSYNTAX && c == '\'') > bash_dollar_squote = 1; > else > #endif > diff --git a/shell/ash_test/ash-heredoc/heredoc4.right > b/shell/ash_test/ash-heredoc/heredoc4.right > new file mode 100644 > index 0000000..371b092 > --- /dev/null > +++ b/shell/ash_test/ash-heredoc/heredoc4.right > @@ -0,0 +1 @@ > +'$' > diff --git a/shell/ash_test/ash-heredoc/heredoc4.tests > b/shell/ash_test/ash-heredoc/heredoc4.tests > new file mode 100755 > index 0000000..642ddb3 > --- /dev/null > +++ b/shell/ash_test/ash-heredoc/heredoc4.tests > @@ -0,0 +1,3 @@ > +cat <<EOF > +'$' > +EOF > diff --git a/shell/ash_test/ash-quoting/dollar_squote_bash1.right > b/shell/ash_test/ash-quoting/dollar_squote_bash1.right > index 57536b1..9f4e25e 100644 > --- a/shell/ash_test/ash-quoting/dollar_squote_bash1.right > +++ b/shell/ash_test/ash-quoting/dollar_squote_bash1.right > @@ -1,4 +1,5 @@ > a b > +$'a\tb' > a > b c > def > diff --git a/shell/ash_test/ash-quoting/dollar_squote_bash1.tests > b/shell/ash_test/ash-quoting/dollar_squote_bash1.tests > index 93a56ca..6fc411b 100755 > --- a/shell/ash_test/ash-quoting/dollar_squote_bash1.tests > +++ b/shell/ash_test/ash-quoting/dollar_squote_bash1.tests > @@ -1,4 +1,5 @@ > echo $'a\tb' > +echo "$'a\tb'" > echo $'a\nb' $'c\nd''ef' > echo $'a\'b' $'c\"d' $'e\\f' > echo $'a\63b' $'c\063b' $'e\0633f' > -- > 2.5.5 > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
