X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuqmi.git;a=blobdiff_plain;f=commands.c;fp=commands.c;h=680b75dd0b1fb9c5446eb33dd632e814f8ba1a12;hp=43b9ca999c8ae7f4dfa0f5bf459a3f2d07b353a2;hb=d591e9699c11eda7087f072892a8be53eaa7d88b;hpb=75abe029f3d264520f0e4065e3ebe895d941db38 diff --git a/commands.c b/commands.c index 43b9ca9..680b75d 100644 --- a/commands.c +++ b/commands.c @@ -5,6 +5,7 @@ #include #include +#include #include "uqmi.h" #include "commands.h" @@ -125,22 +126,14 @@ void uqmi_add_command(char *arg, int cmd) static void uqmi_print_result(struct blob_attr *data) { - struct blob_attr *cur; - int rem; - - blob_for_each_attr(cur, data, rem) { - switch (blobmsg_type(cur)) { - case BLOBMSG_TYPE_STRING: - printf("%s=%s\n", blobmsg_name(cur), (char *) blobmsg_data(cur)); - break; - case BLOBMSG_TYPE_INT32: - printf("%s=%d\n", blobmsg_name(cur), (int32_t) blobmsg_get_u32(cur)); - break; - case BLOBMSG_TYPE_INT8: - printf("%s=%s\n", blobmsg_name(cur), blobmsg_get_u8(cur) ? "true" : "false"); - break; - } - } + char *str; + + str = blobmsg_format_json_indent(data, true, 0); + if (!str) + return; + + printf("%s\n", str); + free(str); } static bool __uqmi_run_commands(struct qmi_dev *qmi, bool option)