X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Fsd-login.c;h=82fe2ce3e338b744fa043f1e2a2162df60ca5410;hb=98a77df5fe8591034c48e5d56d903ee268de37f9;hp=1978a05dc02809e887c7330d425bb06b1c5b4f6e;hpb=20747498c68575646fae88f4dd270fab219a25a6;p=elogind.git diff --git a/src/login/sd-login.c b/src/login/sd-login.c index 1978a05dc..82fe2ce3e 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -259,11 +259,21 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) { } _public_ int sd_uid_get_sessions(uid_t uid, int require_active, char ***sessions) { - return uid_get_array(uid, require_active ? "ACTIVE_SESSIONS" : "SESSIONS", sessions); + return uid_get_array( + uid, + require_active == 0 ? "ONLINE_SESSIONS" : + require_active > 0 ? "ACTIVE_SESSIONS" : + "SESSIONS", + sessions); } _public_ int sd_uid_get_seats(uid_t uid, int require_active, char ***seats) { - return uid_get_array(uid, require_active ? "ACTIVE_SEATS" : "SEATS", seats); + return uid_get_array( + uid, + require_active == 0 ? "ONLINE_SEATS" : + require_active > 0 ? "ACTIVE_SEATS" : + "SEATS", + seats); } static int file_of_session(const char *session, char **_p) {