diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-10-22 21:43:51 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-11-24 09:41:09 +1000 |
commit | 67cfaf5449800e49524377ccb61f6c8221f515dd (patch) | |
tree | a76ddd3598108a5f1959fc8b3027a138f8336532 /jim-array.c | |
parent | 96466972c70a61becc8c332d0b991038ab7028f1 (diff) | |
download | jimtcl-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.c | 5 |
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); |