diff options
author | Steve Bennett <steveb@workware.net.au> | 2016-11-14 12:22:02 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2016-11-14 12:22:49 +1000 |
commit | 0b876772e28fd3d0a4ce64da465aa69aa95036f5 (patch) | |
tree | ae16dd551e8cbe17cc4df8595671eeca0feca496 /jim-array.c | |
parent | 7d5a6e3b6f19a5c9260c131f428711320da452a0 (diff) | |
download | jimtcl-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.c | 5 |
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) |