ash: use pgetc_eatbnl() in more places

Part of upstream commit:

    Date:   Thu Mar 8 08:37:11 2018 +0100
    Author: Harald van Dijk <harald@gigawatt.nl>
    parser: use pgetc_eatbnl() in more places

    dash has a pgetc_eatbnl function in parser.c which skips any
    backslash-newline combinations. It's not used everywhere it could be.
    There is also some duplicated backslash-newline handling elsewhere in
    parser.c. Replace most of the calls to pgetc() with calls to
    pgetc_eatbnl() and remove the duplicated backslash-newline handling.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Not adding "readtoken1(pgetc_eatbnl(), DQSYNTAX..." changes, since
readtoken1() handles the "starts with backslash + newline" case itself.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2018-03-31 19:21:31 +02:00
parent ad4e961352
commit 220be537a0
7 changed files with 191 additions and 35 deletions

View File

@@ -0,0 +1,8 @@
heredoc0
Ok0:0
heredoc1
Ok1:0
heredoc2
Ok2:0
heredoc3
Ok4:0

View File

@@ -0,0 +1,25 @@
cat <\
<\
EOF
heredoc0
EOF
echo Ok0:$?
cat <<\
EOF
heredoc1
EOF
echo Ok1:$?
cat <<\
- EOF
heredoc2
EOF
echo Ok2:$?
cat <\
<\
- EOF
heredoc3
EOF
echo Ok4:$?