diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2015-09-08 22:44:56 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2015-09-08 22:44:56 +0200 |
commit | 22cf83b3c5920784188d7dcdfe1ff319cf4603f1 (patch) | |
tree | 30c4fcd9ab3549c43904ed095e98f03bd4d91244 /Src/params.c | |
parent | 6c27cb3d5292f8ea6c93503afe54fcc1bce4c1cc (diff) | |
parent | eaea1dc23c4a4e7b65046edd7f3d53a81e39e27b (diff) | |
download | zsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.tar.gz zsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.zip |
Merge tag 'zsh-5.1-test-1' into debian
Diffstat (limited to 'Src/params.c')
-rw-r--r-- | Src/params.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Src/params.c b/Src/params.c index 00f43e47d..de151a4cd 100644 --- a/Src/params.c +++ b/Src/params.c @@ -3312,9 +3312,12 @@ arrhashsetfn(Param pm, char **val, int augment) zerr("bad set of key/value pairs for associative array"); return; } - if (alen) - if (!(augment && (ht = paramtab = pm->gsu.h->getfn(pm)))) - ht = paramtab = newparamtable(17, pm->node.nam); + if (augment) { + ht = paramtab = pm->gsu.h->getfn(pm); + } + if (alen && (!augment || !paramtab)) { + ht = paramtab = newparamtable(17, pm->node.nam); + } while (*aptr) { /* The parameter name is ztrdup'd... */ v->pm = createparam(*aptr, PM_SCALAR|PM_UNSET); |