aboutsummaryrefslogtreecommitdiff
path: root/jim-array.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2016-11-14 12:22:02 +1000
committerSteve Bennett <steveb@workware.net.au>2016-11-14 12:22:49 +1000
commit0b876772e28fd3d0a4ce64da465aa69aa95036f5 (patch)
treeae16dd551e8cbe17cc4df8595671eeca0feca496 /jim-array.c
parent7d5a6e3b6f19a5c9260c131f428711320da452a0 (diff)
downloadjimtcl-0b876772e28fd3d0a4ce64da465aa69aa95036f5.zip
jimtcl-0b876772e28fd3d0a4ce64da465aa69aa95036f5.tar.gz
jimtcl-0b876772e28fd3d0a4ce64da465aa69aa95036f5.tar.bz2
dict: Fix [dict values] with duplicate values
The script implementation of dict values was not correctly handling the case where a dictionary had duplicate values. Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-array.c')
-rw-r--r--jim-array.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/jim-array.c b/jim-array.c
index cd3e784..4213bc3 100644
--- a/jim-array.c
+++ b/jim-array.c
@@ -79,8 +79,7 @@ static int array_cmd_get(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
}
}
- /* Return a list of keys and values where the keys match the pattern */
- return Jim_DictValues(interp, objPtr, patternObj);
+ return Jim_DictMatchTypes(interp, objPtr, patternObj, JIM_DICTMATCH_KEYS, JIM_DICTMATCH_KEYS | JIM_DICTMATCH_VALUES);
}
static int array_cmd_names(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
@@ -91,7 +90,7 @@ static int array_cmd_names(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
return JIM_OK;
}
- return Jim_DictKeys(interp, objPtr, argc == 1 ? NULL : argv[1]);
+ return Jim_DictMatchTypes(interp, objPtr, argc == 1 ? NULL : argv[1], JIM_DICTMATCH_KEYS, JIM_DICTMATCH_KEYS);
}
static int array_cmd_unset(Jim_Interp *interp, int argc, Jim_Obj *const *argv)