cli: use UBUS_STATUS_PARSE_ERROR
[project/ubus.git] / cli.c
diff --git a/cli.c b/cli.c
index 421f244ad9dcf383253e21d602b5eb79eb85f8fd..3b67047fa9e81e3641ca175a8ab35640338eed13 100644 (file)
--- a/cli.c
+++ b/cli.c
@@ -142,9 +142,7 @@ static int ubus_cli_call(struct ubus_context *ctx, int argc, char **argv)
 
        blob_buf_init(&b, 0);
        if (argc == 3 && !blobmsg_add_json_from_string(&b, argv[2])) {
-               if (!simple_output)
-                       fprintf(stderr, "Failed to parse message data\n");
-               return -1;
+               return UBUS_STATUS_PARSE_ERROR;
        }
 
        ret = ubus_lookup_id(ctx, argv[0], &id);
@@ -268,9 +266,7 @@ static int ubus_cli_send(struct ubus_context *ctx, int argc, char **argv)
        blob_buf_init(&b, 0);
 
        if (argc == 2 && !blobmsg_add_json_from_string(&b, argv[1])) {
-               if (!simple_output)
-                       fprintf(stderr, "Failed to parse message data\n");
-               return -1;
+               return UBUS_STATUS_PARSE_ERROR;
        }
 
        return ubus_send_event(ctx, argv[0], b.head);
@@ -472,7 +468,7 @@ ubus_cli_monitor_cb(struct ubus_context *ctx, uint32_t seq, struct blob_attr *ms
        bool send;
        char *data;
 
-       blob_parse(msg, tb, policy, UBUS_MONITOR_MAX);
+       blob_parse_untrusted(msg, blob_raw_len(msg), tb, policy, UBUS_MONITOR_MAX);
 
        if (!tb[UBUS_MONITOR_CLIENT] ||
            !tb[UBUS_MONITOR_PEER] ||
@@ -549,6 +545,7 @@ static int usage(const char *prog)
                "Commands:\n"
                " - list [<path>]                       List objects\n"
                " - call <path> <method> [<message>]    Call an object method\n"
+               " - subscribe <path> [<path>...]        Subscribe to object(s) notifications\n"
                " - listen [<path>...]                  Listen for events\n"
                " - send <type> [<message>]             Send an event\n"
                " - wait_for <object> [<object>...]     Wait for multiple objects to appear on ubus\n"