From: Zbigniew Jędrzejewski-Szmek Date: Fri, 19 May 2017 02:32:19 +0000 (-0400) Subject: sd-login,test-login: return -ENODATA from sd_pid_get_unit too X-Git-Tag: chiark/234.4-1+devuan1.1+iwj1~126 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=cadef8dcd75df1197e4d3834ac6b3260f93b7f68;ds=sidebyside sd-login,test-login: return -ENODATA from sd_pid_get_unit too After all, we might be running on a non-elogind system. --- diff --git a/src/libelogind/sd-login/sd-login.c b/src/libelogind/sd-login/sd-login.c index 02cd8bebe..794136304 100644 --- a/src/libelogind/sd-login/sd-login.c +++ b/src/libelogind/sd-login/sd-login.c @@ -66,12 +66,16 @@ _public_ int sd_pid_get_session(pid_t pid, char **session) { } _public_ int sd_pid_get_unit(pid_t pid, char **unit) { +#if 0 /// UNNEEDED by elogind + int r; +#endif // 0 assert_return(pid >= 0, -EINVAL); assert_return(unit, -EINVAL); #if 0 /// elogind does not support systemd units - return cg_pid_get_unit(pid, unit); + r = cg_pid_get_unit(pid, unit); + return r == -ENXIO ? -ENODATA : r; #else return -ESRCH; #endif // 0 diff --git a/src/libelogind/sd-login/test-login.c b/src/libelogind/sd-login/test-login.c index a2f59717e..5fd0c131e 100644 --- a/src/libelogind/sd-login/test-login.c +++ b/src/libelogind/sd-login/test-login.c @@ -61,7 +61,8 @@ static void test_login(void) { uid_t u, u2; char *t, **seats, **sessions; - assert_se(sd_pid_get_unit(0, &unit) >= 0); + r = sd_pid_get_unit(0, &unit); + assert_se(r >= 0 || r == -ENODATA); log_info("sd_pid_get_unit(0, …) → \"%s\"", unit); r = sd_pid_get_user_unit(0, &user_unit);