Fixed getlast_entry() so that it doesn't try to use utmp(x) if

DISABLE_LASTLOG is defined. Bug reported by Tom Bertelson
<tbert@abac.com> for AIX.
This commit is contained in:
andre 2000-06-12 22:21:44 +00:00
parent c29de955f4
commit ecaabf1b6a

View File

@ -170,7 +170,7 @@
#include "xmalloc.h"
#include "loginrec.h"
RCSID("$Id: loginrec.c,v 1.4 2000/06/07 11:32:13 djm Exp $");
RCSID("$Id: loginrec.c,v 1.5 2000/06/12 22:21:44 andre Exp $");
/**
** prototypes for helper functions in this file
@ -372,29 +372,40 @@ getlast_entry(struct logininfo *li)
#else
/* !USE_LASTLOG */
# ifdef DISABLE_LASTLOG
/* On some systems we shouldn't even try to obtain last login
* time, e.g. AIX */
return 0;
# else
/* Try to retrieve the last login time from wtmp */
# if defined(USE_WTMP) && (defined(HAVE_TIME_IN_UTMP) || defined(HAVE_TV_IN_UTMP))
# if defined(USE_WTMP) && (defined(HAVE_TIME_IN_UTMP) || defined(HAVE_TV_IN_UTMP))
/* retrieve last login time from utmp */
if (wtmp_get_entry(li))
return 1;
else
return 0;
# else
# else
/* If wtmp isn't available, try wtmpx */
# if defined(USE_WTMPX) && (defined(HAVE_TIME_IN_UTMPX) || defined(HAVE_TV_IN_UTMPX))
# if defined(USE_WTMPX) && (defined(HAVE_TIME_IN_UTMPX) || defined(HAVE_TV_IN_UTMPX))
/* retrieve last login time from utmpx */
if (wtmpx_get_entry(li))
return 1;
else
return 0;
# else
# else
/* Give up: No means of retrieving last login time */
return 0;
# endif
/* USE_WTMPX && (HAVE_TIME_IN_UTMPX || HAVE_TV_IN_UTMPX) */
# endif
/* USE_WTMP && (HAVE_TIME_IN_UTMP || HAVE_TV_IN_UTMP) */
# endif
/* DISABLE_LASTLOG */
#endif
/* USE_LASTLOG */
}