systemctl: add support for LogFilterPatterns for show command

Parse DBus structure send by LogFilterPatterns to print it in systemctl
show.
This commit is contained in:
Quentin Deslandes
2022-12-15 09:57:39 +00:00
parent 523ea1237a
commit c00b95d5e9
+18
View File
@@ -1650,6 +1650,24 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m
bus_print_property_value(name, expected_value, flags, affinity);
return 1;
} else if (streq(name, "LogFilterPatterns")) {
int is_allowlist;
const char *pattern;
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(bs)");
if (r < 0)
return bus_log_parse_error(r);
while ((r = sd_bus_message_read(m, "(bs)", &is_allowlist, &pattern)) > 0)
bus_print_property_valuef(name, expected_value, flags, "%s%s", is_allowlist ? "" : "~", pattern);
if (r < 0)
return bus_log_parse_error(r);
r = sd_bus_message_exit_container(m);
if (r < 0)
return bus_log_parse_error(r);
return 1;
} else if (streq(name, "MountImages")) {
_cleanup_free_ char *paths = NULL;