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: