mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 10:22:48 +00:00
generic: use ut_user utmp/utmpx member if available
partially fixes build on FreeBSD Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
221eb49faa
commit
fb3284e764
3 changed files with 10 additions and 0 deletions
|
@ -118,6 +118,7 @@ if (UNIX)
|
|||
else (login_in_libc OR login_in_libutil)
|
||||
set(HAVE_LOGIN)
|
||||
endif (login_in_libc OR login_in_libutil)
|
||||
check_struct_has_member("struct ${utmp}" "ut_user" "${utmp}.h" HAVE_STRUCT_UTMP_UT_USER)
|
||||
check_struct_has_member("struct ${utmp}" "ut_type" "${utmp}.h" HAVE_STRUCT_UTMP_UT_TYPE)
|
||||
check_struct_has_member("struct ${utmp}" "ut_pid" "${utmp}.h" HAVE_STRUCT_UTMP_UT_PID)
|
||||
check_struct_has_member("struct ${utmp}" "ut_session" "${utmp}.h" HAVE_STRUCT_UTMP_UT_SESSION)
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#cmakedefine HAVE_LOGIN 1
|
||||
#cmakedefine HAVE_UTMPX 1
|
||||
#cmakedefine HAVE_LOGINX 1
|
||||
#cmakedefine HAVE_STRUCT_UTMP_UT_USER 1
|
||||
#cmakedefine HAVE_STRUCT_UTMP_UT_TYPE 1
|
||||
#cmakedefine HAVE_STRUCT_UTMP_UT_PID 1
|
||||
#cmakedefine HAVE_STRUCT_UTMP_UT_SESSION 1
|
||||
|
|
|
@ -464,7 +464,11 @@ void KPty::login(const char *user, const char *remotehost)
|
|||
// note: strncpy without terminators _is_ correct here. man 4 utmp
|
||||
|
||||
if (user)
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_USER
|
||||
strncpy(l_struct.ut_user, user, sizeof(l_struct.ut_user));
|
||||
#else
|
||||
strncpy(l_struct.ut_name, user, sizeof(l_struct.ut_name));
|
||||
#endif
|
||||
|
||||
if (remotehost) {
|
||||
strncpy(l_struct.ut_host, remotehost, sizeof(l_struct.ut_host));
|
||||
|
@ -561,7 +565,11 @@ void KPty::logout()
|
|||
setutent();
|
||||
if ((ut = getutline(&l_struct))) {
|
||||
# endif
|
||||
# ifdef HAVE_STRUCT_UTMP_UT_USER
|
||||
memset(ut->ut_user, 0, sizeof(*ut->ut_user));
|
||||
# else
|
||||
memset(ut->ut_name, 0, sizeof(*ut->ut_name));
|
||||
# endif
|
||||
memset(ut->ut_host, 0, sizeof(*ut->ut_host));
|
||||
# ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
|
||||
ut->ut_syslen = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue