aboutsummaryrefslogtreecommitdiff
path: root/jim-array.c
diff options
context:
space:
mode:
Diffstat (limited to 'jim-array.c')
-rw-r--r--jim-array.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/jim-array.c b/jim-array.c
index f364ec8..d4f9449 100644
--- a/jim-array.c
+++ b/jim-array.c
@@ -151,6 +151,16 @@ static int array_cmd_size(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
return JIM_OK;
}
+static int array_cmd_stat(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+{
+ Jim_Obj *objPtr = Jim_GetVariable(interp, argv[0], JIM_NONE);
+ if (objPtr) {
+ return Jim_DictInfo(interp, objPtr);
+ }
+ Jim_SetResultFormatted(interp, "\"%#s\" isn't an array", argv[0], NULL);
+ return JIM_ERR;
+}
+
static int array_cmd_set(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
int i;
@@ -222,6 +232,13 @@ static const jim_subcmd_type array_command_table[] = {
1,
/* Description: Number of elements in array */
},
+ { "stat",
+ "arrayName",
+ array_cmd_stat,
+ 1,
+ 1,
+ /* Description: Print statistics about an array */
+ },
{ "unset",
"arrayName ?pattern?",
array_cmd_unset,