X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Fsd-login.c;h=8867e8c8eb7f309fd60f8f4f163425b2e5f8422a;hb=ffa7cd15cd2a9e802827ef0f5762de6c22933c07;hp=45e3bb8dcd07c03451f106d235bfe8ee96f64b45;hpb=7d5e9c0f60cddf01ec803012cbdc02d2f55b78c1;p=elogind.git diff --git a/src/login/sd-login.c b/src/login/sd-login.c index 45e3bb8dc..8867e8c8e 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -29,6 +29,7 @@ #include "macro.h" #include "sd-login.h" #include "strv.h" +#include "fileio.h" _public_ int sd_pid_get_session(pid_t pid, char **session) { int r; @@ -196,7 +197,7 @@ _public_ int sd_uid_is_on_seat(uid_t uid, int require_active, const char *seat) } FOREACH_WORD(w, l, s, state) { - if (strncmp(t, w, l) == 0) { + if (strneq(t, w, l)) { free(s); free(t); @@ -409,6 +410,10 @@ _public_ int sd_session_get_seat(const char *session, char **seat) { return session_get_string(session, "SEAT", seat); } +_public_ int sd_session_get_tty(const char *session, char **tty) { + return session_get_string(session, "TTY", tty); +} + _public_ int sd_session_get_service(const char *session, char **service) { return session_get_string(session, "SERVICE", service); }