From: Roland McGrath Date: Wed, 17 Jan 1996 10:00:23 +0000 (+0000) Subject: * sysdeps/unix/seekdir.c: Don't modify POS before seeking. X-Git-Tag: cvs/libc-960117 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6e9b25ba8590f942fe4b485de57093c2c242211;p=thirdparty%2Fglibc.git * sysdeps/unix/seekdir.c: Don't modify POS before seeking. * sysdeps/unix/telldir.c: Fix position calculation to account for buffered data properly. --- diff --git a/ChangeLog b/ChangeLog index 769fa1636d2..eedcc2b8342 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ Tue Jan 16 17:37:39 1996 Roland McGrath + * sysdeps/unix/seekdir.c: Don't modify POS before seeking. + * sysdeps/unix/telldir.c: Fix position calculation to account for + buffered data properly. + * sysdeps/m68k/Makefile (crypt): Don't define if building a shared library. diff --git a/sysdeps/unix/seekdir.c b/sysdeps/unix/seekdir.c index b0a6f5e9d77..018f697c21e 100644 --- a/sysdeps/unix/seekdir.c +++ b/sysdeps/unix/seekdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,6 @@ Cambridge, MA 02139, USA. */ void DEFUN(seekdir, (dirp, pos), DIR *dirp AND __off_t pos) { - pos -= dirp->__size - dirp->__offset; (void) __lseek(dirp->__fd, pos, SEEK_SET); dirp->__size = 0; dirp->__offset = 0; diff --git a/sysdeps/unix/telldir.c b/sysdeps/unix/telldir.c index 5dbf1ca3c1d..2b611b0fcae 100644 --- a/sysdeps/unix/telldir.c +++ b/sysdeps/unix/telldir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -39,5 +39,5 @@ DEFUN(telldir, (dirp), DIR *dirp) pos = __lseek(dirp->__fd, (off_t) 0, SEEK_CUR); if (pos == (off_t) -1) return (off_t) -1; - return pos + (dirp->__size - dirp->__offset); + return pos + dirp->__size - dirp->__offset; }