Displaying 4 results from an estimated 4 matches for "unwindlocalvar".
Did you mean:
unwindlocalvars
2020 Mar 28
0
[klibc:update-dash] dash: eval: Always set localvar_stop
...goto out;
}
- if (likely(vlocal))
- localvar_stop = pushlocalvars();
-
for (argp = cmd->ncmd.assign; argp; argp = argp->narg.next) {
struct strlist **spp;
@@ -920,8 +918,7 @@ out:
popredir(execcmd);
unwindredir(redir_stop);
unwindfiles(file_stop);
- if (likely(vlocal))
- unwindlocalvars(localvar_stop);
+ unwindlocalvars(localvar_stop);
if (lastarg)
/* dsl: I think this is intended to be used to 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/u...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Replace with listsetvar with mklocal/setvareq
...& argc > 1)
- listsetvar(varlist.list, VEXPORT);
- }
if (evalbltin(cmdentry.u.cmd, argc, argv, flags) &&
!(exception == EXERROR && spclbltin <= 0)) {
raise:
@@ -913,7 +922,8 @@ out:
popredir(execcmd);
unwindredir(redir_stop);
unwindfiles(file_stop);
- unwindlocalvars(localvar_stop);
+ if (likely(vlocal))
+ unwindlocalvars(localvar_stop);
if (lastarg)
/* dsl: I think this is intended to be used to support
* '_' in 'vi' command mode during line editing...
diff --git a/usr/dash/var.c b/usr/dash/var.c
index 604ab1f7..40743e5d 100644
--- a...
2019 Jan 25
0
[klibc:update-dash] eval: Restore input files in evalcommand
...;, (long)cmd, flags));
setstackmark(&smark);
localvar_stop = pushlocalvars();
+ file_stop = parsefile;
back_exitstatus = 0;
cmdentry.cmdtype = CMDBUILTIN;
@@ -896,6 +898,7 @@ out:
if (cmd->ncmd.redirect)
popredir(execcmd);
unwindredir(redir_stop);
+ unwindfiles(file_stop);
unwindlocalvars(localvar_stop);
if (lastarg)
/* dsl: I think this is intended to be used to support
diff --git a/usr/dash/input.c b/usr/dash/input.c
index e53423c5..ae0c4c80 100644
--- a/usr/dash/input.c
+++ b/usr/dash/input.c
@@ -479,6 +479,13 @@ popfile(void)
}
+void unwindfiles(struct parsefile *stop...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Restore input files in evalcommand
...;, (long)cmd, flags));
setstackmark(&smark);
localvar_stop = pushlocalvars();
+ file_stop = parsefile;
back_exitstatus = 0;
cmdentry.cmdtype = CMDBUILTIN;
@@ -896,6 +898,7 @@ out:
if (cmd->ncmd.redirect)
popredir(execcmd);
unwindredir(redir_stop);
+ unwindfiles(file_stop);
unwindlocalvars(localvar_stop);
if (lastarg)
/* dsl: I think this is intended to be used to support
diff --git a/usr/dash/input.c b/usr/dash/input.c
index e53423c5..ae0c4c80 100644
--- a/usr/dash/input.c
+++ b/usr/dash/input.c
@@ -479,6 +479,13 @@ popfile(void)
}
+void unwindfiles(struct parsefile *stop...