From 7f0ca8ccd57bd39b8dceb1f6dfbae7dc353198bf Mon Sep 17 00:00:00 2001 From: Dominic Lake Date: Thu, 10 Mar 2022 15:12:38 +0000 Subject: [PATCH] Add support for different ubus arg types Add support for boolean and integer values in the dynamic JSON ubus args. --- dmdynamicjson.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dmdynamicjson.c b/dmdynamicjson.c index c8feda50..5cd18595 100644 --- a/dmdynamicjson.c +++ b/dmdynamicjson.c @@ -350,7 +350,17 @@ static int fill_ubus_arguments(struct dmctx *ctx, void *data, char *instance, ch u_args[u_args_size].key = dm_dynamic_strdup(&json_memhead, buf_key); u_args[u_args_size].val = dm_dynamic_strdup(&json_memhead, buf_val); - u_args[u_args_size].type = String; + switch (json_object_get_type(val)) { + case json_type_boolean: + u_args[u_args_size].type = Boolean; + break; + case json_type_int: + u_args[u_args_size].type = Integer; + break; + default: + u_args[u_args_size].type = String; + break; + } u_args_size++; }