Displaying 2 results from an estimated 2 matches for "809c6a8a".
2020 Mar 28
0
[klibc:update-dash] dash: parser: Save/restore here-documents in command substitution
...versa.
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
usr/dash/parser.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/usr/dash/parser.c b/usr/dash/parser.c
index 8bd3db44..809c6a8a 100644
--- a/usr/dash/parser.c
+++ b/usr/dash/parser.c
@@ -1368,6 +1368,7 @@ parsebackq: {
union node *n;
char *str;
size_t savelen;
+ struct heredoc *saveheredoclist;
int uninitialized_var(saveprompt);
str = NULL;
@@ -1432,6 +1433,9 @@ done:
*nlpp = (struct nodelist *)stalloc(sizeof...
2020 Mar 28
0
[klibc:update-dash] dash: memalloc: Add growstackto helper
...d popstackmark(struct stackmark *);
void growstackblock(void);
void *growstackstr(void);
+char *growstackto(size_t len);
char *makestrspace(size_t, char *);
char *stnputs(const char *, size_t, char *);
char *stputs(const char *, char *);
diff --git a/usr/dash/parser.c b/usr/dash/parser.c
index 809c6a8a..3de977c1 100644
--- a/usr/dash/parser.c
+++ b/usr/dash/parser.c
@@ -1460,9 +1460,7 @@ done:
/* Ignore any pushed back tokens left from the backquote parsing. */
if (oldstyle)
tokpushback = 0;
- while (stackblocksize() <= savelen)
- growstackblock();
- STARTSTACKSTR(out);
+ out = growsta...