tree-wide: do not print hint about -M if -M is already used

(Or when -H is used, since -H and -M are incompatible.)

Note that the slightly unusual form with separate boolean variables (hint_vars,
hint_addr) instead of e.g. a const char* variable to hold the message, because this
way we don't trigger the warning about non-literal format.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2021-11-04 11:00:54 +01:00
parent fb293b3c0f
commit 10a7340a97
17 changed files with 33 additions and 30 deletions
+7 -4
View File
@@ -42,11 +42,14 @@ int bus_log_address_error(int r, BusTransport transport) {
"Failed to set bus address: %m");
}
int bus_log_connect_error(int r) {
int bus_log_connect_error(int r, BusTransport transport) {
bool hint_vars = transport == BUS_TRANSPORT_LOCAL && r == -ENOMEDIUM,
hint_addr = transport == BUS_TRANSPORT_LOCAL && ERRNO_IS_PRIVILEGE(r);
return log_error_errno(r,
r == -ENOMEDIUM ? "Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" :
ERRNO_IS_PRIVILEGE(r) ? "Failed to connect to bus: Operation not permitted (consider using --machine=<user>@.host --user to connect to bus of other user)" :
"Failed to connect to bus: %m");
r == hint_vars ? "Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" :
r == hint_addr ? "Failed to connect to bus: Operation not permitted (consider using --machine=<user>@.host --user to connect to bus of other user)" :
"Failed to connect to bus: %m");
}
int bus_async_unregister_and_exit(sd_event *e, sd_bus *bus, const char *name) {
+1 -1
View File
@@ -40,7 +40,7 @@ int bus_connect_transport(BusTransport transport, const char *host, bool user, s
int bus_connect_transport_systemd(BusTransport transport, const char *host, bool user, sd_bus **bus);
int bus_log_address_error(int r, BusTransport transport);
int bus_log_connect_error(int r);
int bus_log_connect_error(int r, BusTransport transport);
#define bus_log_parse_error(r) \
log_error_errno(r, "Failed to parse bus message: %m")
+1 -1
View File
@@ -447,7 +447,7 @@ int show_cgroup_get_path_and_warn(
r = bus_connect_transport_systemd(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
r = show_cgroup_get_unit_path_and_warn(bus, unit, &root);
if (r < 0)