diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-12-16 14:04:16 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-12-16 14:04:16 +0000 |
commit | 3c93bfe162216c6d88778271ac0b6499fa2c1ee5 (patch) | |
tree | f69b8db6b3a49bf339149a435d1980a59f09195a /Src/exec.c | |
parent | 990818d0292e6a80e8b10fc32e6949f3278fcf84 (diff) | |
download | zsh-3c93bfe162216c6d88778271ac0b6499fa2c1ee5.tar.gz zsh-3c93bfe162216c6d88778271ac0b6499fa2c1ee5.tar.xz zsh-3c93bfe162216c6d88778271ac0b6499fa2c1ee5.zip |
zsh-workers/9079
Diffstat (limited to 'Src/exec.c')
-rw-r--r-- | Src/exec.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Src/exec.c b/Src/exec.c index c09536da9..d9b8d95ec 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2905,6 +2905,8 @@ execautofn(Cmd cmd, LinkList args, int flags) int noalias = noaliases; List l; + pushheap(); + noaliases = (shf->flags & PM_UNALIASED); l = getfpfunc(shf->nam); noaliases = noalias; @@ -2929,6 +2931,8 @@ execautofn(Cmd cmd, LinkList args, int flags) } LASTALLOC; shf->flags &= ~PM_UNDEFINED; } + popheap(); + execlist(shf->funcdef, 1, 0); return lastval; } @@ -2942,6 +2946,8 @@ loadautofn(Shfunc shf) int noalias = noaliases; List l; + pushheap(); + noaliases = (shf->flags & PM_UNALIASED); l = getfpfunc(shf->nam); noaliases = noalias; @@ -2955,6 +2961,8 @@ loadautofn(Shfunc shf) } LASTALLOC; shf->flags &= ~PM_UNDEFINED; + popheap(); + return 0; } @@ -3118,9 +3126,14 @@ getfpfunc(char *s) HEAPALLOC { r = parse_string(d, 1); } LASTALLOC; + + zfree(d, len + 1); + return r; } else close(fd); + + zfree(d, len + 1); } else { close(fd); } |