From: Yu Watanabe Date: Sat, 2 Mar 2019 14:35:26 +0000 (+0900) Subject: bus-util: drop unnecessary re-formatting X-Git-Tag: v242-rc1~203^2~14 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=102b02146056516cb9ff21e34daebd34671ec892;p=thirdparty%2Fsystemd.git bus-util: drop unnecessary re-formatting --- diff --git a/src/login/loginctl.c b/src/login/loginctl.c index ab1b56201a3..69850724daa 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -755,7 +755,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); if (all || !isempty(s)) - bus_print_property_value(name, expected_value, value, "%s", s); + bus_print_property_value(name, expected_value, value, s); return 1; @@ -771,7 +771,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m "Invalid user ID: " UID_FMT, uid); - bus_print_property_value(name, expected_value, value, UID_FMT, uid); + bus_print_property_valuef(name, expected_value, value, UID_FMT, uid); return 1; } break; diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index cbcf698e965..90cddd7e04d 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -628,7 +628,21 @@ int bus_connect_user_systemd(sd_bus **_bus) { return 0; } -int bus_print_property_value(const char *name, const char *expected_value, bool only_value, const char *fmt, ...) { +int bus_print_property_value(const char *name, const char *expected_value, bool only_value, const char *value) { + assert(name); + + if (expected_value && !streq_ptr(expected_value, value)) + return 0; + + if (only_value) + puts(value); + else + printf("%s=%s\n", name, value); + + return 0; +} + +int bus_print_property_valuef(const char *name, const char *expected_value, bool only_value, const char *fmt, ...) { va_list ap; int r; @@ -691,7 +705,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b /* This property has a single value, so we need to take * care not to print a new line, everything else is OK. */ good = !strchr(s, '\n'); - bus_print_property_value(name, expected_value, value, "%s", good ? s : "[unprintable]"); + bus_print_property_value(name, expected_value, value, good ? s : "[unprintable]"); } return 1; @@ -707,7 +721,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (expected_value && parse_boolean(expected_value) != b) return 1; - bus_print_property_value(name, NULL, value, "%s", yes_no(b)); + bus_print_property_value(name, NULL, value, yes_no(b)); return 1; } @@ -728,13 +742,13 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b t = format_timestamp(timestamp, sizeof(timestamp), u); if (t || all) - bus_print_property_value(name, expected_value, value, "%s", strempty(t)); + bus_print_property_value(name, expected_value, value, strempty(t)); } else if (strstr(name, "USec")) { char timespan[FORMAT_TIMESPAN_MAX]; (void) format_timespan(timespan, sizeof(timespan), u, 0); - bus_print_property_value(name, expected_value, value, "%s", timespan); + bus_print_property_value(name, expected_value, value, timespan); } else if (streq(name, "RestrictNamespaces")) { _cleanup_free_ char *s = NULL; @@ -752,7 +766,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b result = s; } - bus_print_property_value(name, expected_value, value, "%s", result); + bus_print_property_value(name, expected_value, value, result); } else if (streq(name, "MountFlags")) { const char *result; @@ -761,7 +775,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (!result) return -EINVAL; - bus_print_property_value(name, expected_value, value, "%s", result); + bus_print_property_value(name, expected_value, value, result); } else if (STR_IN_SET(name, "CapabilityBoundingSet", "AmbientCapabilities")) { _cleanup_free_ char *s = NULL; @@ -770,7 +784,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (r < 0) return r; - bus_print_property_value(name, expected_value, value, "%s", s); + bus_print_property_value(name, expected_value, value, s); } else if ((STR_IN_SET(name, "CPUWeight", "StartupCPUWeight", "IOWeight", "StartupIOWeight") && u == CGROUP_WEIGHT_INVALID) || (STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) || @@ -778,16 +792,16 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == (uint64_t) -1) || (endswith(name, "NSec") && u == (uint64_t) -1)) - bus_print_property_value(name, expected_value, value, "%s", "[not set]"); + bus_print_property_value(name, expected_value, value, "[not set]"); else if ((STR_IN_SET(name, "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryLimit") && u == CGROUP_LIMIT_MAX) || (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == (uint64_t) -1) || (startswith(name, "Limit") && u == (uint64_t) -1) || (startswith(name, "DefaultLimit") && u == (uint64_t) -1)) - bus_print_property_value(name, expected_value, value, "%s", "infinity"); + bus_print_property_value(name, expected_value, value, "infinity"); else - bus_print_property_value(name, expected_value, value, "%"PRIu64, u); + bus_print_property_valuef(name, expected_value, value, "%"PRIu64, u); return 1; } @@ -799,7 +813,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (r < 0) return r; - bus_print_property_value(name, expected_value, value, "%"PRIi64, i); + bus_print_property_valuef(name, expected_value, value, "%"PRIi64, i); return 1; } @@ -811,20 +825,20 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b return r; if (strstr(name, "UMask") || strstr(name, "Mode")) - bus_print_property_value(name, expected_value, value, "%04o", u); + bus_print_property_valuef(name, expected_value, value, "%04o", u); else if (streq(name, "UID")) { if (u == UID_INVALID) - bus_print_property_value(name, expected_value, value, "%s", "[not set]"); + bus_print_property_value(name, expected_value, value, "[not set]"); else - bus_print_property_value(name, expected_value, value, "%"PRIu32, u); + bus_print_property_valuef(name, expected_value, value, "%"PRIu32, u); } else if (streq(name, "GID")) { if (u == GID_INVALID) - bus_print_property_value(name, expected_value, value, "%s", "[not set]"); + bus_print_property_value(name, expected_value, value, "[not set]"); else - bus_print_property_value(name, expected_value, value, "%"PRIu32, u); + bus_print_property_valuef(name, expected_value, value, "%"PRIu32, u); } else - bus_print_property_value(name, expected_value, value, "%"PRIu32, u); + bus_print_property_valuef(name, expected_value, value, "%"PRIu32, u); return 1; } @@ -836,7 +850,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (r < 0) return r; - bus_print_property_value(name, expected_value, value, "%"PRIi32, i); + bus_print_property_valuef(name, expected_value, value, "%"PRIi32, i); return 1; } @@ -847,7 +861,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b if (r < 0) return r; - bus_print_property_value(name, expected_value, value, "%g", d); + bus_print_property_valuef(name, expected_value, value, "%g", d); return 1; } diff --git a/src/shared/bus-util.h b/src/shared/bus-util.h index 71c248fe3c7..2e42c45740b 100644 --- a/src/shared/bus-util.h +++ b/src/shared/bus-util.h @@ -64,7 +64,8 @@ int bus_connect_transport_systemd(BusTransport transport, const char *host, bool typedef int (*bus_message_print_t) (const char *name, const char *expected_value, sd_bus_message *m, bool value, bool all); -int bus_print_property_value(const char *name, const char *expected_value, bool only_value, const char *fmt, ...) _printf_(4,5); +int bus_print_property_value(const char *name, const char *expected_value, bool only_value, const char *value); +int bus_print_property_valuef(const char *name, const char *expected_value, bool only_value, const char *fmt, ...) _printf_(4,5); int bus_message_print_all_properties(sd_bus_message *m, bus_message_print_t func, char **filter, bool value, bool all, Set **found_properties); int bus_print_all_properties(sd_bus *bus, const char *dest, const char *path, bus_message_print_t func, char **filter, bool value, bool all, Set **found_properties); diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index fc21d318ad2..c3030b9f1db 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -4679,9 +4679,9 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); if (u > 0) - bus_print_property_value(name, expected_value, value, "%"PRIu32, u); + bus_print_property_valuef(name, expected_value, value, "%"PRIu32, u); else if (all) - bus_print_property_value(name, expected_value, value, "%s", ""); + bus_print_property_value(name, expected_value, value, ""); return 1; @@ -4693,7 +4693,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); if (all || !isempty(s)) - bus_print_property_value(name, expected_value, value, "%s", s); + bus_print_property_value(name, expected_value, value, s); return 1; @@ -4705,7 +4705,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); if (all || !isempty(a) || !isempty(b)) - bus_print_property_value(name, expected_value, value, "%s \"%s\"", strempty(a), strempty(b)); + bus_print_property_valuef(name, expected_value, value, "%s \"%s\"", strempty(a), strempty(b)); return 1; } else if (streq_ptr(name, "SystemCallFilter")) { @@ -4752,6 +4752,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m } return 1; + } else if (STR_IN_SET(name, "SELinuxContext", "AppArmorProfile", "SmackProcessLabel")) { int ignore; const char *s; @@ -4761,9 +4762,9 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); if (!isempty(s)) - bus_print_property_value(name, expected_value, value, "%s%s", ignore ? "-" : "", s); + bus_print_property_valuef(name, expected_value, value, "%s%s", ignore ? "-" : "", s); else if (all) - bus_print_property_value(name, expected_value, value, "%s", ""); + bus_print_property_value(name, expected_value, value, ""); return 1; } @@ -4781,7 +4782,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(sb)", &path, &ignore)) > 0) - bus_print_property_value(name, expected_value, value, "%s (ignore_errors=%s)", path, yes_no(ignore)); + bus_print_property_valuef(name, expected_value, value, "%s (ignore_errors=%s)", path, yes_no(ignore)); if (r < 0) return bus_log_parse_error(r); @@ -4800,7 +4801,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(ss)", &type, &path)) > 0) - bus_print_property_value(name, expected_value, value, "%s (%s)", path, type); + bus_print_property_valuef(name, expected_value, value, "%s (%s)", path, type); if (r < 0) return bus_log_parse_error(r); @@ -4818,7 +4819,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(ss)", &type, &path)) > 0) - bus_print_property_value(name, expected_value, value, "%s (%s)", path, type); + bus_print_property_valuef(name, expected_value, value, "%s (%s)", path, type); if (r < 0) return bus_log_parse_error(r); @@ -4839,9 +4840,9 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m while ((r = sd_bus_message_read(m, "(stt)", &base, &v, &next_elapse)) > 0) { char timespan1[FORMAT_TIMESPAN_MAX], timespan2[FORMAT_TIMESPAN_MAX]; - bus_print_property_value(name, expected_value, value, "{ %s=%s ; next_elapse=%s }", base, - format_timespan(timespan1, sizeof(timespan1), v, 0), - format_timespan(timespan2, sizeof(timespan2), next_elapse, 0)); + bus_print_property_valuef(name, expected_value, value, "{ %s=%s ; next_elapse=%s }", base, + format_timespan(timespan1, sizeof(timespan1), v, 0), + format_timespan(timespan2, sizeof(timespan2), next_elapse, 0)); } if (r < 0) return bus_log_parse_error(r); @@ -4863,8 +4864,8 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m while ((r = sd_bus_message_read(m, "(sst)", &base, &spec, &next_elapse)) > 0) { char timestamp[FORMAT_TIMESTAMP_MAX]; - bus_print_property_value(name, expected_value, value, "{ %s=%s ; next_elapse=%s }", base, spec, - format_timestamp(timestamp, sizeof(timestamp), next_elapse)); + bus_print_property_valuef(name, expected_value, value, "{ %s=%s ; next_elapse=%s }", base, spec, + format_timestamp(timestamp, sizeof(timestamp), next_elapse)); } if (r < 0) return bus_log_parse_error(r); @@ -4888,18 +4889,18 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m tt = strv_join(info.argv, " "); - bus_print_property_value(name, expected_value, value, - "{ path=%s ; argv[]=%s ; ignore_errors=%s ; start_time=[%s] ; stop_time=[%s] ; pid="PID_FMT" ; code=%s ; status=%i%s%s }", - strna(info.path), - strna(tt), - yes_no(info.ignore), - strna(format_timestamp(timestamp1, sizeof(timestamp1), info.start_timestamp)), - strna(format_timestamp(timestamp2, sizeof(timestamp2), info.exit_timestamp)), - info.pid, - sigchld_code_to_string(info.code), - info.status, - info.code == CLD_EXITED ? "" : "/", - strempty(info.code == CLD_EXITED ? NULL : signal_to_string(info.status))); + bus_print_property_valuef(name, expected_value, value, + "{ path=%s ; argv[]=%s ; ignore_errors=%s ; start_time=[%s] ; stop_time=[%s] ; pid="PID_FMT" ; code=%s ; status=%i%s%s }", + strna(info.path), + strna(tt), + yes_no(info.ignore), + strna(format_timestamp(timestamp1, sizeof(timestamp1), info.start_timestamp)), + strna(format_timestamp(timestamp2, sizeof(timestamp2), info.exit_timestamp)), + info.pid, + sigchld_code_to_string(info.code), + info.status, + info.code == CLD_EXITED ? "" : "/", + strempty(info.code == CLD_EXITED ? NULL : signal_to_string(info.status))); free(info.path); strv_free(info.argv); @@ -4920,7 +4921,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(ss)", &path, &rwm)) > 0) - bus_print_property_value(name, expected_value, value, "%s %s", strna(path), strna(rwm)); + bus_print_property_valuef(name, expected_value, value, "%s %s", strna(path), strna(rwm)); if (r < 0) return bus_log_parse_error(r); @@ -4940,7 +4941,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(st)", &path, &weight)) > 0) - bus_print_property_value(name, expected_value, value, "%s %"PRIu64, strna(path), weight); + bus_print_property_valuef(name, expected_value, value, "%s %"PRIu64, strna(path), weight); if (r < 0) return bus_log_parse_error(r); @@ -4961,7 +4962,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(st)", &path, &bandwidth)) > 0) - bus_print_property_value(name, expected_value, value, "%s %"PRIu64, strna(path), bandwidth); + bus_print_property_valuef(name, expected_value, value, "%s %"PRIu64, strna(path), bandwidth); if (r < 0) return bus_log_parse_error(r); @@ -4982,8 +4983,8 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m return bus_log_parse_error(r); while ((r = sd_bus_message_read(m, "(st)", &path, &target)) > 0) - bus_print_property_value(name, expected_value, value, "%s %s", strna(path), - format_timespan(ts, sizeof(ts), target, 1)); + bus_print_property_valuef(name, expected_value, value, "%s %s", strna(path), + format_timespan(ts, sizeof(ts), target, 1)); if (r < 0) return bus_log_parse_error(r); @@ -5007,7 +5008,7 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m if (n < 0) return log_oom(); - bus_print_property_value(name, expected_value, value, "%s", h); + bus_print_property_value(name, expected_value, value, h); return 1; } diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 1e7b26276a9..406ca1df661 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -670,7 +670,7 @@ static int print_timesync_property(const char *name, const char *expected_value, return r; if (arg_all || !isempty(str)) - bus_print_property_value(name, expected_value, value, "%s", str); + bus_print_property_value(name, expected_value, value, str); return 1; }