From bc3256997b737f6158e9768dcf5738a7c0fbb454 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Fri, 10 Sep 1999 09:28:43 +0000 Subject: zsh-workers/7765 --- Src/exec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Src/exec.c') diff --git a/Src/exec.c b/Src/exec.c index 720620e71..3e44adfc2 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2918,7 +2918,7 @@ doshfunc(char *name, List list, LinkList doshargs, int flags, int noreturnval) * was executed. */ { char **tab, **x, *oargv0 = NULL; - int oldzoptind, oldlastval; + int oldzoptind, oldlastval, oldoptcind; char saveopts[OPT_SIZE], *oldscriptname; int obreaks = breaks; @@ -2935,6 +2935,8 @@ doshfunc(char *name, List list, LinkList doshargs, int flags, int noreturnval) scriptname = dupstring(name); oldzoptind = zoptind; zoptind = 1; + oldoptcind = optcind; + optcind = 0; /* We need to save the current options even if LOCALOPTIONS is * * not currently set. That's because if it gets set in the * @@ -2974,6 +2976,7 @@ doshfunc(char *name, List list, LinkList doshargs, int flags, int noreturnval) zsfree(argzero); argzero = oargv0; } + optcind = oldoptcind; zoptind = oldzoptind; scriptname = oldscriptname; pparams = tab; -- cgit 1.4.1