summaryrefslogtreecommitdiff
path: root/login.c
diff options
context:
space:
mode:
Diffstat (limited to 'login.c')
-rw-r--r--login.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/login.c b/login.c
index f03db0532..80a63f3d7 100644
--- a/login.c
+++ b/login.c
@@ -18,7 +18,7 @@
18 */ 18 */
19 19
20#include "includes.h" 20#include "includes.h"
21RCSID("$Id: login.c,v 1.13 1999/12/27 00:33:56 damien Exp $"); 21RCSID("$Id: login.c,v 1.14 1999/12/27 23:41:12 damien Exp $");
22 22
23#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) 23#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
24# include <utmpx.h> 24# include <utmpx.h>
@@ -142,10 +142,18 @@ record_login(int pid, const char *ttyname, const char *user, uid_t uid,
142 memset(&u, 0, sizeof(u)); 142 memset(&u, 0, sizeof(u));
143 strncpy(u.ut_line, ttyname + 5, sizeof(u.ut_line)); 143 strncpy(u.ut_line, ttyname + 5, sizeof(u.ut_line));
144 strncpy(u.ut_id, ttyname + 8, sizeof(u.ut_id)); 144 strncpy(u.ut_id, ttyname + 8, sizeof(u.ut_id));
145 u.ut_pid = (pid_t)pid;
146 u.ut_time = time(NULL);
147 strncpy(u.ut_name, user, sizeof(u.ut_name)); 145 strncpy(u.ut_name, user, sizeof(u.ut_name));
146#if defined(HAVE_TV_IN_UTMP)
147 (void)gettimeofday(&u.ut_tv, NULL);
148#else /* defined(HAVE_TV_IN_UTMP) */
149 u.ut_time = time(NULL);
150#endif /* defined(HAVE_TV_IN_UTMP) */
151#if defined(HAVE_PID_IN_UTMP)
152 u.ut_pid = (pid_t)pid;
153#endif /* HAVE_PID_IN_UTMP */
154#if defined(HAVE_TYPE_IN_UTMP)
148 u.ut_type = (uid == -1)?DEAD_PROCESS:USER_PROCESS; 155 u.ut_type = (uid == -1)?DEAD_PROCESS:USER_PROCESS;
156#endif /* HAVE_TYPE_IN_UTMP */
149#if defined(HAVE_HOST_IN_UTMP) 157#if defined(HAVE_HOST_IN_UTMP)
150 strncpy(u.ut_host, host, sizeof(u.ut_host)); 158 strncpy(u.ut_host, host, sizeof(u.ut_host));
151#endif 159#endif
@@ -156,7 +164,7 @@ record_login(int pid, const char *ttyname, const char *user, uid_t uid,
156 strncpy(utx.ut_line, ttyname + 5, sizeof(utx.ut_line)); 164 strncpy(utx.ut_line, ttyname + 5, sizeof(utx.ut_line));
157 strncpy(utx.ut_id, ttyname + 8, sizeof(utx.ut_id)); 165 strncpy(utx.ut_id, ttyname + 8, sizeof(utx.ut_id));
158 utx.ut_pid = (pid_t)pid; 166 utx.ut_pid = (pid_t)pid;
159 utx.ut_tv.tv_sec = time(NULL); 167 (void)gettimeofday(&utx.ut_tv, NULL);
160 utx.ut_type = (uid == -1)?DEAD_PROCESS:USER_PROCESS; 168 utx.ut_type = (uid == -1)?DEAD_PROCESS:USER_PROCESS;
161# ifdef HAVE_HOST_IN_UTMPX 169# ifdef HAVE_HOST_IN_UTMPX
162# ifdef HAVE_SYSLEN_IN_UTMPX 170# ifdef HAVE_SYSLEN_IN_UTMPX