ash: use pgetc_eatbnl() in more places, take 3

Adding previously skipped "readtoken1(pgetc_eatbnl(), syntax_type..." change
from upstream commit:

    Date:   Thu Mar 8 08:37:11 2018 +0100
    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.

Testcase:
	PS1='\
	:::'
should result in ::: prompt, not <newline>::: prompt

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2021-09-08 01:03:57 +02:00
parent 1c06ddd8bb
commit c540256127

View File

@ -13388,7 +13388,7 @@ expandstr(const char *ps, int syntax_type)
* PS1='$(date "+%H:%M:%S) > ' * PS1='$(date "+%H:%M:%S) > '
*/ */
exception_handler = &jmploc; exception_handler = &jmploc;
readtoken1(pgetc(), syntax_type, FAKEEOFMARK, 0); readtoken1(pgetc_eatbnl(), syntax_type, FAKEEOFMARK, 0);
n.narg.type = NARG; n.narg.type = NARG;
n.narg.next = NULL; n.narg.next = NULL;