summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-08-16 19:41:12 +0000
committerUlrich Drepper <drepper@redhat.com>1997-08-16 19:41:12 +0000
commit65307d4417097ffa72a201af0f2644c488dd6073 (patch)
treeb1b15523eb7f9276a619118b3a4f6726be93575d
parent2462764678d7d396bab3706b2be91e2ebfeaf9df (diff)
(login): Correct test for result of utmpname.
Use updwtmp instead of implementing this here again.
-rw-r--r--login/login.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/login/login.c b/login/login.c
index 0df11c6895..4d08dbb472 100644
--- a/login/login.c
+++ b/login/login.c
@@ -23,7 +23,8 @@
#include <unistd.h>
#include <stdlib.h>
#include <utmp.h>
-
+
+
/* Return the result of ttyname in the buffer pointed to by TTY, which should
be of length BUF_LEN. If it is too long to fit in this buffer, a
sufficiently long buffer is allocated using malloc, and returned in TTY.
@@ -65,7 +66,6 @@ tty_name (int fd, char **tty, size_t buf_len)
__set_errno (ENOMEM);
break;
}
-
buf = new_buf;
}
@@ -115,7 +115,7 @@ login (const struct utmp *ut)
strncpy (copy.ut_line, ttyp, UT_LINESIZE);
/* Tell that we want to use the UTMP file. */
- if (utmpname (_PATH_UTMP) != 0)
+ if (utmpname (_PATH_UTMP) == 0)
{
struct utmp *old;
@@ -137,20 +137,5 @@ login (const struct utmp *ut)
}
/* Update the WTMP file. Here we have to add a new entry. */
- if (utmpname (_PATH_WTMP) != 0)
- {
- struct utmp *up;
-
- /* Open the WTMP file. */
- setutent ();
-
- /* Position at end of file. */
- while (! getutent_r (&utbuf, &up));
-
- /* Write the new entry. */
- pututline (&copy);
-
- /* Close WTMP file. */
- endutent ();
- }
+ updwtmp (_PATH_WTMP, &copy);
}