diff options
-rw-r--r-- | app-shells/dash/files/dash-0.5.10.1-parser.patch | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/app-shells/dash/files/dash-0.5.10.1-parser.patch b/app-shells/dash/files/dash-0.5.10.1-parser.patch index 485fc7e6772a..0939b7cb7222 100644 --- a/app-shells/dash/files/dash-0.5.10.1-parser.patch +++ b/app-shells/dash/files/dash-0.5.10.1-parser.patch @@ -1,8 +1,28 @@ -https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html +From 469c5fd4f57622b1a6571172898ab29430319d4a Mon Sep 17 00:00:00 2001 +From: Herbert Xu <herbert@gondor.apana.org.au> +Date: Fri, 11 May 2018 23:41:25 +0800 +Subject: parser: Fix incorrect eating of backslash newlines ---- dash-0.5.10.1/src/parser.c -+++ dash-0.5.10.1/src/parser.c -@@ -853,6 +853,11 @@ +With the introduction of synstack->syntax, a number of references +to the syntax variable was missed during the conversion. This +causes backslash newlines to be incorrectly removed in single +quote context. + +This patch also combines these calls into a new helper function +pgetc_top. + +Fixes: ab1cecb40478 ("parser: Add syntax stack for recursive...") +Reported-by: Leah Neukirchen <leah@vuxu.org> +Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> +--- + src/parser.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/parser.c b/src/parser.c +index 8e40781..8bd3db4 100644 +--- a/src/parser.c ++++ b/src/parser.c +@@ -853,6 +853,11 @@ static int pgetc_eatbnl(void) return c; } @@ -14,7 +34,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html static void synstack_push(struct synstack **stack, struct synstack *next, const char *syntax) { -@@ -915,7 +920,7 @@ +@@ -915,7 +920,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs) attyline(); if (synstack->syntax == BASESYNTAX) return readtoken(); @@ -23,7 +43,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html goto loop; } #endif -@@ -929,7 +934,7 @@ +@@ -929,7 +934,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs) goto endword; /* exit outer loop */ USTPUTC(c, out); nlprompt(); @@ -32,7 +52,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html goto loop; /* continue outer loop */ case CWORD: USTPUTC(c, out); -@@ -1056,7 +1061,7 @@ +@@ -1056,7 +1061,7 @@ toggledq: USTPUTC(c, out); } } @@ -41,3 +61,6 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html } } endword: +-- +cgit v1.1 + |