summaryrefslogtreecommitdiff
path: root/login/logout.c
diff options
context:
space:
mode:
Diffstat (limited to 'login/logout.c')
-rw-r--r--login/logout.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/login/logout.c b/login/logout.c
index 8575512e0e..3e625486f6 100644
--- a/login/logout.c
+++ b/login/logout.c
@@ -25,8 +25,7 @@ Boston, MA 02111-1307, USA. */
int
logout (const char *line)
{
- struct utmp_data data = { ut_fd: -1 };
- struct utmp tmp;
+ struct utmp tmp, utbuf;
struct utmp *ut;
int result = 0;
@@ -35,7 +34,7 @@ logout (const char *line)
return 0;
/* Open UTMP file. */
- setutent_r (&data);
+ setutent ();
/* Fill in search information. */
#if _HAVE_UT_TYPE - 0
@@ -44,7 +43,7 @@ logout (const char *line)
strncpy (tmp.ut_line, line, sizeof tmp.ut_line);
/* Read the record. */
- if (getutline_r (&tmp, &ut, &data) >= 0)
+ if (getutline_r (&tmp, &utbuf, &ut) >= 0)
{
/* Clear information about who & from where. */
bzero (ut->ut_name, sizeof ut->ut_name);
@@ -57,12 +56,12 @@ logout (const char *line)
time (&ut->ut_time);
#endif
- if (pututline_r (ut, &data) >= 0)
+ if (pututline (ut) >= 0)
result = 1;
}
/* Close UTMP file. */
- endutent_r (&data);
+ endutent ();
return result;
}