summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2018-05-14 11:51:21 +0200
committerLars Wendler <polynomial-c@gentoo.org>2018-05-14 11:53:54 +0200
commit6be2c5a6ab0b465e2591435715bae6db830e2356 (patch)
tree9e788344ca473c592a0503ef9d147617ec29c2a5 /app-shells/dash
parentapp-emulation/lxc: update sgml dep (diff)
downloadgentoo-6be2c5a6ab0b465e2591435715bae6db830e2356.tar.gz
gentoo-6be2c5a6ab0b465e2591435715bae6db830e2356.tar.bz2
gentoo-6be2c5a6ab0b465e2591435715bae6db830e2356.zip
app-shells/dash: Revbump to fix dash parser. Removed old.
Package-Manager: Portage-2.3.36, Repoman-2.3.9
Diffstat (limited to 'app-shells/dash')
-rw-r--r--app-shells/dash/dash-0.5.10.1-r2.ebuild (renamed from app-shells/dash/dash-0.5.10.1-r1.ebuild)1
-rw-r--r--app-shells/dash/files/dash-0.5.10.1-parser.patch43
2 files changed, 44 insertions, 0 deletions
diff --git a/app-shells/dash/dash-0.5.10.1-r1.ebuild b/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: