X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-inhibit.c;h=042586d0738c9268ae54bc8ce07a04c0b3465293;hb=d9eb81f9844f6d28b52e44b2c0e6e280a61d8200;hp=1b6f1362b3fbfb34dc2dee5731cfb570297fd907;hpb=718db96199eb307751264e4163555662c9a389fa;p=elogind.git diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 1b6f1362b..042586d07 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -45,7 +45,7 @@ Inhibitor* inhibitor_new(Manager *m, const char* id) { return NULL; } - i->id = path_get_file_name(i->state_file); + i->id = basename(i->state_file); if (hashmap_put(m->inhibitors, i->id, i) < 0) { free(i->state_file); @@ -372,7 +372,8 @@ bool manager_is_inhibited( dual_timestamp *since, bool ignore_inactive, bool ignore_uid, - uid_t uid) { + uid_t uid, + Inhibitor **offending) { Inhibitor *i; Iterator j; @@ -400,6 +401,9 @@ bool manager_is_inhibited( ts = i->since; inhibited = true; + + if (offending) + *offending = i; } if (since) @@ -409,7 +413,7 @@ bool manager_is_inhibited( } const char *inhibit_what_to_string(InhibitWhat w) { - static __thread char buffer[97]; + static thread_local char buffer[97]; char *p; if (w < 0 || w >= _INHIBIT_WHAT_MAX)