aboutsummaryrefslogtreecommitdiff
path: root/jim-array.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-10-22 21:43:51 +1000
committerSteve Bennett <steveb@workware.net.au>2010-11-24 09:41:09 +1000
commit67cfaf5449800e49524377ccb61f6c8221f515dd (patch)
treea76ddd3598108a5f1959fc8b3027a138f8336532 /jim-array.c
parent96466972c70a61becc8c332d0b991038ab7028f1 (diff)
downloadjimtcl-67cfaf5449800e49524377ccb61f6c8221f515dd.zip
jimtcl-67cfaf5449800e49524377ccb61f6c8221f515dd.tar.gz
jimtcl-67cfaf5449800e49524377ccb61f6c8221f515dd.tar.bz2
Add support for [dict] size, merge, with
Implement 'dict with' and 'dict merge' as scripts since this is simpler. Use 'dict size' to implement 'array size' Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-array.c')
-rw-r--r--jim-array.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/jim-array.c b/jim-array.c
index ef459a0..5ba024e 100644
--- a/jim-array.c
+++ b/jim-array.c
@@ -175,7 +175,10 @@ static int array_cmd_size(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
/* Not found means zero length */
objPtr = Jim_GetVariable(interp, argv[0], JIM_NONE);
if (objPtr) {
- len = Jim_ListLength(interp, objPtr) / 2;
+ len = Jim_DictSize(interp, objPtr);
+ if (len < 0) {
+ return JIM_ERR;
+ }
}
Jim_SetResultInt(interp, len);