diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-12-10 03:08:06 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-12-10 03:08:06 +0000 |
commit | 8a4b65b46966f99180de59141cbfa14de2d80380 (patch) | |
tree | f002e045ac3b4006cd7578b3e5fce2f0426e6dcd /login/utmp_file.c | |
parent | f5c1ec414e169d34cb8b1698686845c9373b0469 (diff) | |
download | glibc-8a4b65b46966f99180de59141cbfa14de2d80380.zip glibc-8a4b65b46966f99180de59141cbfa14de2d80380.tar.gz glibc-8a4b65b46966f99180de59141cbfa14de2d80380.tar.bz2 |
update from main archive 961209cvs/libc-961210
Tue Dec 10 02:17:31 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_fp.c (__guess_grouping): Fix of by one
error in computation of number of groups.
Patch sent by Harald Schreiber <Harald.Schreiber@post.rwth-aachen.de>.
Tue Dec 10 01:50:07 1996 Ulrich Drepper <drepper@cygnus.com>
* version.h: Set version to 1.99.
* Make-dist (routines): Add malloc and new-malloc.
* Makeconfig: Allow Makefiles to set $(CPPFLAGS-$(<F)) and
$(CPPFLAGS-$(@F)) to be added to CPPFLAGS.
Same for $(CFLAGS-$(@F)) and CFLAGS.
* gmon/sys/gmon_out.h: Add __BEGIN_DECLS/__END_DECLS. Unify
layout.
* io/sys/poll.h: Likewise.
* sysdeps/stub/sys/ipb_buf.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise.
* sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise.
* sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise.
* sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sys/module.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mount.h: Likewise.
* sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise.
* sysdeps/unix/sysv/linux/sys/param.h: Likewise.
* sysdeps/unix/sysv/linux/sys/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/sys/reboot.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise.
* sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise.
* sysdeps/unix/sysv/linux/sys/socketcall.h: Likewise.
* sysdeps/unix/sysv/linux/sys/swap.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
* sysdeps/unix/sysv/linux/sys/timex.h: Likewise.
* sysvipc/sys/sem.h: Likewise.
* sysvipc/sys/shm.h: Likewise.
* new-malloc/Makefile: Set CPPFLAGS-malloc.o.
* new-malloc/malloc.c: Remove problem with 64 bits pointers.
Add statistics for threads.
* new-malloc/malloc.h: Likewise.
* new-malloc/thread-m.h: Likewise.
* time/strftime.c: Declare tzname if if HAVE_TZNAME is defined.
* time/strptime.c: Update copyright.
Mon Dec 9 14:51:10 1996 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Make sure both malloc directories get distributed.
Sun Dec 8 23:14:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/iogets.c (_IO_gets): Fix early returns to not leave the
stream locked.
Sat Dec 7 22:08:09 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/module.h: Enclose declarations in
__BEGIN_DECLS/__END_DECLS.
Sat Dec 7 14:23:12 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/utmp_file.c: Consistently set file_offset to the position
after the entry just read.
Diffstat (limited to 'login/utmp_file.c')
-rw-r--r-- | login/utmp_file.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/login/utmp_file.c b/login/utmp_file.c index fff487a..2bb6c92 100644 --- a/login/utmp_file.c +++ b/login/utmp_file.c @@ -134,7 +134,7 @@ getutent_r_file (struct utmp *buffer, struct utmp **result) nbytes = read (file_fd, &last_entry, sizeof (struct utmp)); flock (file_fd, LOCK_UN); - if (nbytes!= sizeof (struct utmp)) + if (nbytes != sizeof (struct utmp)) { file_offset = -1l; *result = NULL; @@ -174,6 +174,7 @@ getutline_r_file (const struct utmp *line, struct utmp *buffer, *result = NULL; return -1; } + file_offset += sizeof (struct utmp); /* Stop if we found a user or login entry. */ if ( @@ -184,8 +185,6 @@ getutline_r_file (const struct utmp *line, struct utmp *buffer, #endif !strncmp (line->ut_line, last_entry.ut_line, sizeof line->ut_line)) break; - - file_offset += sizeof (struct utmp); } memcpy (buffer, &last_entry, sizeof (struct utmp)); @@ -214,11 +213,10 @@ internal_getutid_r (const struct utmp *id, struct utmp *buffer) file_offset = -1l; return -1; } + file_offset += sizeof (struct utmp); if (id->ut_type == buffer->ut_type) break; - - file_offset += sizeof (struct utmp); } } else @@ -236,14 +234,14 @@ internal_getutid_r (const struct utmp *id, struct utmp *buffer) file_offset = -1l; return -1; } + file_offset += sizeof (struct utmp); + if (( buffer->ut_type == INIT_PROCESS || buffer->ut_type == LOGIN_PROCESS || buffer->ut_type == USER_PROCESS || buffer->ut_type == DEAD_PROCESS) && strncmp (buffer->ut_id, id->ut_id, sizeof id->ut_id) == 0) break; - - file_offset += sizeof (struct utmp); } } @@ -347,7 +345,10 @@ pututline_file (const struct utmp *data) pbuf = NULL; } else - pbuf = (struct utmp *) data; + { + file_offset += sizeof (struct utmp); + pbuf = (struct utmp *) data; + } /* And unlock the file. */ (void) flock (file_fd, LOCK_UN); |