diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2012-10-11 20:14:01 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2012-10-11 20:14:01 +0000 |
commit | 4b86cc48f704152ccca13c50bc3acd59b4217ecc (patch) | |
tree | cfae43df67e766bd504da4a287a5e9307c931a60 /Src/hashtable.c | |
parent | ad92cb3203e5d95be91019633e8f1f5835b12794 (diff) | |
download | zsh-4b86cc48f704152ccca13c50bc3acd59b4217ecc.tar.gz zsh-4b86cc48f704152ccca13c50bc3acd59b4217ecc.tar.xz zsh-4b86cc48f704152ccca13c50bc3acd59b4217ecc.zip |
30726: make shell options passed to emulate stick along with the emulation
Diffstat (limited to 'Src/hashtable.c')
-rw-r--r-- | Src/hashtable.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Src/hashtable.c b/Src/hashtable.c index b472e40b9..ef187927b 100644 --- a/Src/hashtable.c +++ b/Src/hashtable.c @@ -888,6 +888,15 @@ freeshfuncnode(HashNode hn) if (shf->funcdef) freeeprog(shf->funcdef); zsfree(shf->filename); + if (shf->sticky) { + if (shf->sticky->n_on_opts) + zfree(shf->sticky->on_opts, + shf->sticky->n_on_opts * sizeof(*shf->sticky->on_opts)); + if (shf->sticky->n_off_opts) + zfree(shf->sticky->off_opts, + shf->sticky->n_off_opts * sizeof(*shf->sticky->off_opts)); + zfree(shf->sticky, sizeof(*shf->sticky)); + } zfree(shf, sizeof(struct shfunc)); } |