X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Finhibit.c;h=29e50c1447c920803d4937f625f8f247e204fedc;hb=d7d1c8f983599dca6ee30229375215978657c072;hp=9cb321fc8fb1e7cc8d329decdb3d2617a3de409e;hpb=4654e558a3c297a71f05c3b2db6a2744fcf3cdea;p=elogind.git diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 9cb321fc8..29e50c144 100644 --- a/src/login/inhibit.c +++ b/src/login/inhibit.c @@ -96,6 +96,7 @@ static int print_inhibitors(DBusConnection *bus, DBusError *error) { dbus_message_iter_recurse(&iter, &sub); while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) { const char *what, *who, *why, *mode; + _cleanup_free_ char *comm = NULL, *u = NULL; dbus_uint32_t uid, pid; if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) @@ -111,11 +112,14 @@ static int print_inhibitors(DBusConnection *bus, DBusError *error) { bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_UINT32, &pid, false) < 0) return -EIO; - printf(" Who: %s (UID %lu, PID %lu)\n" + get_process_comm(pid, &comm); + u = uid_to_name(uid); + + printf(" Who: %s (UID %lu/%s, PID %lu/%s)\n" " What: %s\n" " Why: %s\n" " Mode: %s\n\n", - who, (unsigned long) uid, (unsigned long) pid, + who, (unsigned long) uid, strna(u), (unsigned long) pid, strna(comm), what, why, mode); @@ -229,7 +233,7 @@ int main(int argc, char *argv[]) { int r, exit_code = 0; DBusConnection *bus = NULL; DBusError error; - int _cleanup_close_ fd = -1; + _cleanup_close_ int fd = -1; dbus_error_init(&error); @@ -251,7 +255,7 @@ int main(int argc, char *argv[]) { r = print_inhibitors(bus, &error); if (r < 0) { - log_error("Failed to list inhibitors: %s", bus_error_message_or_strerror(&error, -r)); + log_error("Failed to list inhibitors: %s", bus_error(&error, r)); goto finish; } @@ -266,7 +270,7 @@ int main(int argc, char *argv[]) { free(w); if (fd < 0) { - log_error("Failed to inhibit: %s", bus_error_message_or_strerror(&error, -r)); + log_error("Failed to inhibit: %s", bus_error(&error, r)); r = fd; goto finish; }