commit:     6be2c5a6ab0b465e2591435715bae6db830e2356
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon May 14 09:51:21 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon May 14 09:53:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6be2c5a6

app-shells/dash: Revbump to fix dash parser. Removed old.

Package-Manager: Portage-2.3.36, Repoman-2.3.9

 ...-0.5.10.1-r1.ebuild => dash-0.5.10.1-r2.ebuild} |  1 +
 app-shells/dash/files/dash-0.5.10.1-parser.patch   | 43 ++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/app-shells/dash/dash-0.5.10.1-r1.ebuild 
b/app-shells/dash/dash-0.5.10.1-r2.ebuild
similarity index 98%
rename from app-shells/dash/dash-0.5.10.1-r1.ebuild
rename to app-shells/dash/dash-0.5.10.1-r2.ebuild
index d51383e2eb1..09d6f32c73f 100644
--- a/app-shells/dash/dash-0.5.10.1-r1.ebuild
+++ b/app-shells/dash/dash-0.5.10.1-r2.ebuild
@@ -29,6 +29,7 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}"/${PN}-0.5.9.1-format-security.patch
+       "${FILESDIR}"/${P}-parser.patch
 )
 
 src_prepare() {

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
new file mode 100644
index 00000000000..485fc7e6772
--- /dev/null
+++ b/app-shells/dash/files/dash-0.5.10.1-parser.patch
@@ -0,0 +1,43 @@
+https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
+
+--- dash-0.5.10.1/src/parser.c
++++ dash-0.5.10.1/src/parser.c
+@@ -853,6 +853,11 @@
+       return c;
+ }
+ 
++static int pgetc_top(struct synstack *stack)
++{
++      return stack->syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
++}
++
+ static void synstack_push(struct synstack **stack, struct synstack *next,
+                         const char *syntax)
+ {
+@@ -915,7 +920,7 @@
+                       attyline();
+                       if (synstack->syntax == BASESYNTAX)
+                               return readtoken();
+-                      c = syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
++                      c = pgetc_top(synstack);
+                       goto loop;
+               }
+ #endif
+@@ -929,7 +934,7 @@
+                                       goto endword;   /* exit outer loop */
+                               USTPUTC(c, out);
+                               nlprompt();
+-                              c = syntax == SQSYNTAX ? pgetc() : 
pgetc_eatbnl();
++                              c = pgetc_top(synstack);
+                               goto loop;              /* continue outer loop 
*/
+                       case CWORD:
+                               USTPUTC(c, out);
+@@ -1056,7 +1061,7 @@
+                                       USTPUTC(c, out);
+                               }
+                       }
+-                      c = syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
++                      c = pgetc_top(synstack);
+               }
+       }
+ endword:

Reply via email to