diff --git a/dm/dmubus.c b/dm/dmubus.c index be24c58..012a577 100644 --- a/dm/dmubus.c +++ b/dm/dmubus.c @@ -96,10 +96,18 @@ int dmubus_call_set(char *obj, char *method, struct ubus_arg u_args[], int u_arg sprintf(p, "{"); for (i = 0; i < u_args_size; i++) { p += strlen(p); - if (i == 0) - sprintf(p, "\"%s\": \"%s\"", u_args[i].key, u_args[i].val); - else - sprintf(p, ", \"%s\": \"%s\"", u_args[i].key, u_args[i].val); + if (i == 0){ + if(u_args[i].type != Integer) + sprintf(p, "\"%s\": \"%s\"", u_args[i].key, u_args[i].val); + else + sprintf(p, "\"%s\": %s", u_args[i].key, u_args[i].val); + } + else{ + if(u_args[i].type != Integer) + sprintf(p, ", \"%s\": \"%s\"", u_args[i].key, u_args[i].val); + else + sprintf(p, ", \"%s\": %s", u_args[i].key, u_args[i].val); + } } p += strlen(p); sprintf(p, "}");