From: Yu Watanabe Date: Sun, 13 Oct 2024 04:21:36 +0000 (+0900) Subject: busctl: minor coding style cleanups X-Git-Tag: v257-rc1~216^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c284aa7bf11186015615efdf6550e1a4970b44e6;p=thirdparty%2Fsystemd.git busctl: minor coding style cleanups - rename output parameter of json_transform_and_append(), - return from call() earlier to reduce indentation, - add several missing error messages. --- diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index c3e0a3a6337..49ba7baa061 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -1728,18 +1728,22 @@ static int message_append_cmdline(sd_bus_message *m, const char *signature, FDSe static int json_transform_one(sd_bus_message *m, sd_json_variant **ret); -static int json_transform_and_append(sd_bus_message *m, sd_json_variant **ret) { +static int json_transform_and_append(sd_bus_message *m, sd_json_variant **array) { _cleanup_(sd_json_variant_unrefp) sd_json_variant *element = NULL; int r; assert(m); - assert(ret); + assert(array); r = json_transform_one(m, &element); if (r < 0) return r; - return sd_json_variant_append_array(ret, element); + r = sd_json_variant_append_array(array, element); + if (r < 0) + return log_error_errno(r, "Failed to append json element to array: %m"); + + return 0; } static int json_transform_array_or_struct(sd_bus_message *m, sd_json_variant **ret) { @@ -1749,6 +1753,10 @@ static int json_transform_array_or_struct(sd_bus_message *m, sd_json_variant **r assert(m); assert(ret); + r = sd_json_variant_new_array(&array, NULL, 0); + if (r < 0) + return log_error_errno(r, "Failed to allocate json empty array: %m"); + for (;;) { r = sd_bus_message_at_end(m, false); if (r < 0) @@ -1761,9 +1769,6 @@ static int json_transform_array_or_struct(sd_bus_message *m, sd_json_variant **r return r; } - if (!array) - return sd_json_variant_new_array(ret, NULL, 0); - *ret = TAKE_PTR(array); return 0; } @@ -1784,7 +1789,7 @@ static int json_transform_variant(sd_bus_message *m, const char *contents, sd_js SD_JSON_BUILD_PAIR("type", SD_JSON_BUILD_STRING(contents)), SD_JSON_BUILD_PAIR("data", SD_JSON_BUILD_VARIANT(value))); if (r < 0) - return log_oom(); + return log_error_errno(r, "Failed to build json object: %m"); return r; } @@ -1811,7 +1816,7 @@ static int json_transform_dict_array(sd_bus_message *m, sd_json_variant **ret) { r = sd_bus_message_peek_type(m, &type, &contents); if (r < 0) - return r; + return bus_log_parse_error(r); assert(type == 'e'); @@ -1839,7 +1844,11 @@ static int json_transform_dict_array(sd_bus_message *m, sd_json_variant **ret) { return bus_log_parse_error(r); } - return sd_json_variant_new_object(ret, elements, n_elements); + r = sd_json_variant_new_object(ret, elements, n_elements); + if (r < 0) + return log_error_errno(r, "Failed to create new json object: %m"); + + return 0; } static int json_transform_one(sd_bus_message *m, sd_json_variant **ret) { @@ -2055,10 +2064,10 @@ static int json_transform_message(sd_bus_message *m, sd_json_variant **ret) { return r; r = sd_json_buildo(ret, - SD_JSON_BUILD_PAIR("type", SD_JSON_BUILD_STRING(type)), + SD_JSON_BUILD_PAIR("type", SD_JSON_BUILD_STRING(type)), SD_JSON_BUILD_PAIR("data", SD_JSON_BUILD_VARIANT(v))); if (r < 0) - return log_oom(); + return log_error_errno(r, "Failed to build json object: %m"); return 0; } @@ -2130,38 +2139,37 @@ static int call(int argc, char **argv, void *userdata) { r = sd_bus_message_is_empty(reply); if (r < 0) return bus_log_parse_error(r); + if (r > 0 || arg_quiet) + return 0; - if (r == 0 && !arg_quiet) { - - if (!FLAGS_SET(arg_json_format_flags, SD_JSON_FORMAT_OFF)) { - _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; + if (!FLAGS_SET(arg_json_format_flags, SD_JSON_FORMAT_OFF)) { + _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; - if (arg_json_format_flags & (SD_JSON_FORMAT_PRETTY|SD_JSON_FORMAT_PRETTY_AUTO)) - pager_open(arg_pager_flags); + if (arg_json_format_flags & (SD_JSON_FORMAT_PRETTY|SD_JSON_FORMAT_PRETTY_AUTO)) + pager_open(arg_pager_flags); - r = json_transform_message(reply, &v); - if (r < 0) - return r; + r = json_transform_message(reply, &v); + if (r < 0) + return r; - sd_json_variant_dump(v, arg_json_format_flags, NULL, NULL); + sd_json_variant_dump(v, arg_json_format_flags, NULL, NULL); - } else if (arg_verbose) { - pager_open(arg_pager_flags); + } else if (arg_verbose) { + pager_open(arg_pager_flags); - r = sd_bus_message_dump(reply, stdout, 0); - if (r < 0) - return r; - } else { + r = sd_bus_message_dump(reply, stdout, 0); + if (r < 0) + return log_error_errno(r, "Failed to dump dbus message: %m"); + } else { - fputs(sd_bus_message_get_signature(reply, true), stdout); - fputc(' ', stdout); + fputs(sd_bus_message_get_signature(reply, true), stdout); + fputc(' ', stdout); - r = format_cmdline(reply, stdout, false); - if (r < 0) - return bus_log_parse_error(r); + r = format_cmdline(reply, stdout, false); + if (r < 0) + return bus_log_parse_error(r); - fputc('\n', stdout); - } + fputc('\n', stdout); } return 0; @@ -2289,7 +2297,6 @@ static int on_bus_signal_impl(sd_bus_message *msg) { r = sd_bus_message_is_empty(msg); if (r < 0) return bus_log_parse_error(r); - if (r > 0 || arg_quiet) return 0;