From f58b35bf88722b9e9e420fa86f1a0a96f98515d9 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 9 Aug 2018 09:48:35 +0100 Subject: 43264: fix ${+assoc[nonexistent]} with KSH_ARRAYS --- ChangeLog | 5 +++++ Src/params.c | 2 +- Test/D04parameter.ztst | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 28f70f48a..5b3ace6a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-08-09 Peter Stephenson + + * 43264: Src/params.c, Test/D04parameter.ztst: + ${+assoc[nonexistent]} returned 1 with KSH_ARRAYS. + 2018-08-08 Peter Stephenson * 43261: Src/math.c, Test/C01arith.ztst: Apply unary minus to diff --git a/Src/params.c b/Src/params.c index f13093403..a1c299f60 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1427,7 +1427,7 @@ getarg(char **str, int *inv, Value v, int a2, zlong *w, HashTable ht = v->pm->gsu.h->getfn(v->pm); if (!ht) { if (flags & SCANPM_CHECKING) - return isset(KSHARRAYS) ? 1 : 0; + return 0; ht = newparamtable(17, v->pm->node.nam); v->pm->gsu.h->setfn(v->pm, ht); } diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst index 3b187f492..e327a784c 100644 --- a/Test/D04parameter.ztst +++ b/Test/D04parameter.ztst @@ -2422,3 +2422,11 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888 >: # >: ` backtick >: word + + ( + setopt KSH_ARRAYS + typeset -A ksh_assoc + print ${+assoc[unset]} + ) +0:Use of parameter subst + to test element of hash with KSH_ARRAYS. +>0 -- cgit 1.4.1