ash: parser: Fix single-quoted patterns in here-documents
Upstream commit:
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Fri, 9 Mar 2018 23:07:53 +0800
parser: Fix single-quoted patterns in here-documents
The script
x=*
cat <<- EOF
${x#'*'}
EOF
prints * instead of nothing as it should. The problem is that
when we're in sqsyntax context in a here-document, we won't add
CTLESC as we should. This patch fixes it:
Reported-by: Harald van Dijk <harald@gigawatt.nl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
4
shell/ash_test/ash-heredoc/heredoc_var_expand1.right
Normal file
4
shell/ash_test/ash-heredoc/heredoc_var_expand1.right
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
Ok1:0
|
||||
|
||||
Ok2:0
|
||||
11
shell/ash_test/ash-heredoc/heredoc_var_expand1.tests
Executable file
11
shell/ash_test/ash-heredoc/heredoc_var_expand1.tests
Executable file
@@ -0,0 +1,11 @@
|
||||
x='*'
|
||||
|
||||
cat <<- EOF
|
||||
${x#'*'}
|
||||
EOF
|
||||
echo Ok1:$?
|
||||
|
||||
cat <<EOF
|
||||
${x#'*'}
|
||||
EOF
|
||||
echo Ok2:$?
|
||||
Reference in New Issue
Block a user