* Copyright (c) 1988 The Regents of the University of California.
* %sccs.include.redist.c%
static char sccsid
[] = "@(#)logwtmp.c 5.6 (Berkeley) %G%";
* Modified version of logwtmp that holds wtmp file open
* after first call, for use with ftp (which may chroot
* after login, but before logout).
logwtmp(line
, name
, host
)
char *line
, *name
, *host
;
if (fd
< 0 && (fd
= open(_PATH_WTMP
, O_WRONLY
|O_APPEND
, 0)) < 0)
if (fstat(fd
, &buf
) == 0) {
(void)strncpy(ut
.ut_line
, line
, sizeof(ut
.ut_line
));
(void)strncpy(ut
.ut_name
, name
, sizeof(ut
.ut_name
));
(void)strncpy(ut
.ut_host
, host
, sizeof(ut
.ut_host
));
if (write(fd
, (char *)&ut
, sizeof(struct utmp
)) !=
(void)ftruncate(fd
, buf
.st_size
);