From 0b876772e28fd3d0a4ce64da465aa69aa95036f5 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Mon, 14 Nov 2016 12:22:02 +1000 Subject: 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 --- jim-array.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'jim-array.c') 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) -- cgit v1.1