diff options
Diffstat (limited to 'loginrec.c')
-rw-r--r-- | loginrec.c | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -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 */ } |