search for: localvar_list

Displaying 6 results from an estimated 6 matches for "localvar_list".

2020 Mar 28
0
[klibc:update-dash] dash: eval: Always set localvar_stop
...o support * '_' in 'vi' command mode during line editing... diff --git a/usr/dash/var.c b/usr/dash/var.c index 40743e5d..0d7e1db0 100644 --- a/usr/dash/var.c +++ b/usr/dash/var.c @@ -562,18 +562,24 @@ poplocalvars(int keep) /* * Create a new localvar environment. */ -struct localvar_list *pushlocalvars(void) +struct localvar_list *pushlocalvars(int push) { struct localvar_list *ll; + struct localvar_list *top; + + top = localvar_stack; + if (!push) + goto out; INTOFF; ll = ckmalloc(sizeof(*ll)); ll->lv = NULL; - ll->next = localvar_stack; + ll->next = top; lo...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Replace with listsetvar with mklocal/setvareq
...intmax_t lookupvarint(const char *); char **listvars(int, int, char ***); @@ -147,7 +146,7 @@ char **listvars(int, int, char ***); int showvars(const char *, int, int); int exportcmd(int, char **); int localcmd(int, char **); -void mklocal(char *); +void mklocal(char *name, int flags); struct localvar_list *pushlocalvars(void); void poplocalvars(int); void unwindlocalvars(struct localvar_list *stop);
2019 Jan 25
0
[klibc:update-dash] eval: Restore input files in evalcommand
...t.c | 10 ++++++++-- usr/dash/input.h | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/usr/dash/eval.c b/usr/dash/eval.c index 811c28a4..5fd1c7c1 100644 --- a/usr/dash/eval.c +++ b/usr/dash/eval.c @@ -694,6 +694,7 @@ evalcommand(union node *cmd, int flags) #endif { struct localvar_list *localvar_stop; + struct parsefile *file_stop; struct redirtab *redir_stop; struct stackmark smark; union node *argp; @@ -722,6 +723,7 @@ evalcommand(union node *cmd, int flags) TRACE(("evalcommand(0x%lx, %d) called\n", (long)cmd, flags)); setstackmark(&smark); localvar_st...
2020 Mar 28
0
[klibc:update-dash] dash: var: Set IFS to fixed value at start time
...lt;ben at decadent.org.uk> --- usr/dash/var.c | 11 ++--------- usr/dash/var.h | 6 +----- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/usr/dash/var.c b/usr/dash/var.c index cc6f7f2a..604ab1f7 100644 --- a/usr/dash/var.c +++ b/usr/dash/var.c @@ -75,11 +75,7 @@ MKINIT struct localvar_list *localvar_stack; const char defpathvar[] = "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; -#ifdef IFS_BROKEN -const char defifsvar[] = "IFS= \t\n"; -#else -const char defifs[] = " \t\n"; -#endif +char defifsvar[] = "IFS= \t\n"; MKI...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Restore input files in evalcommand
...t.c | 10 ++++++++-- usr/dash/input.h | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/usr/dash/eval.c b/usr/dash/eval.c index 26055493..e28e56cb 100644 --- a/usr/dash/eval.c +++ b/usr/dash/eval.c @@ -694,6 +694,7 @@ evalcommand(union node *cmd, int flags) #endif { struct localvar_list *localvar_stop; + struct parsefile *file_stop; struct redirtab *redir_stop; struct stackmark smark; union node *argp; @@ -722,6 +723,7 @@ evalcommand(union node *cmd, int flags) TRACE(("evalcommand(0x%lx, %d) called\n", (long)cmd, flags)); setstackmark(&smark); localvar_st...
2020 Mar 28
0
[klibc:update-dash] dash: eval: avoid leaking memory associated with redirections
...rglist, EXP_TILDE); for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) { @@ -459,8 +460,6 @@ evalcase(union node *n, int flags) } } out: - popstackmark(&smark); - return status; } @@ -717,7 +716,6 @@ evalcommand(union node *cmd, int flags) struct localvar_list *localvar_stop; struct parsefile *file_stop; struct redirtab *redir_stop; - struct stackmark smark; union node *argp; struct arglist arglist; struct arglist varlist; @@ -746,7 +744,6 @@ evalcommand(union node *cmd, int flags) /* First expand the arguments. */ TRACE(("evalcomman...