diff options
Diffstat (limited to 'sysdeps/unix/telldir.c')
-rw-r--r-- | sysdeps/unix/telldir.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/sysdeps/unix/telldir.c b/sysdeps/unix/telldir.c index 2b611b0..d9b8d11 100644 --- a/sysdeps/unix/telldir.c +++ b/sysdeps/unix/telldir.c @@ -16,28 +16,13 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> -#include <errno.h> -#include <stddef.h> #include <dirent.h> -#include <unistd.h> -#include <sys/types.h> -#include "dirstream.h" + +#include <dirstream.h> /* Return the current position of DIRP. */ off_t -DEFUN(telldir, (dirp), DIR *dirp) +telldir (DIR *dirp) { - register off_t pos; - - if (dirp == NULL) - { - errno = EINVAL; - return (off_t) -1; - } - - 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 dirp->filepos; } |