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...