mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
* include/dirent.h: Remove __getdirentries declaration, add __getdents and __getdents64. * sysdeps/unix/readdir.c: Use __getdents, not __getdirentries. * sysdeps/unix/readdir_r.c: Likewise. * sysdeps/unix/sysv/linux/readdir64.c: Likewise. * sysdeps/unix/sysv/linux/readdir64_r.c: Likewise. * sysdeps/unix/sysv/linux/getdents.c: Define __getdents, not __getdirentries. Remove fourth argument. * sysdeps/unix/sysv/linux/getdirentries.c: New file. * sysdeps/unix/sysv/linux/getdirentries64.c: New file. * sysdeps/unix/sysv/linux/Makefile [subdir=dirent] (sysdep_routines): Add getdirentries and getdirentries64. * sysdeps/unix/sysv/linux/Dist: Add getdirentries and getdirentries64.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 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,9 +27,6 @@
|
||||
|
||||
#include <dirstream.h>
|
||||
|
||||
extern ssize_t __getdirentries64 (int, char *, size_t, off_t *);
|
||||
|
||||
|
||||
/* Read a directory entry from DIRP. */
|
||||
struct dirent64 *
|
||||
__readdir64 (DIR *dirp)
|
||||
@ -47,7 +44,6 @@ __readdir64 (DIR *dirp)
|
||||
/* We've emptied out our buffer. Refill it. */
|
||||
|
||||
size_t maxread;
|
||||
off_t base;
|
||||
ssize_t bytes;
|
||||
|
||||
#ifndef _DIRENT_HAVE_D_RECLEN
|
||||
@ -57,8 +53,7 @@ __readdir64 (DIR *dirp)
|
||||
maxread = dirp->allocation;
|
||||
#endif
|
||||
|
||||
base = dirp->filepos;
|
||||
bytes = __getdirentries64 (dirp->fd, dirp->data, maxread, &base);
|
||||
bytes = __getdents64 (dirp->fd, dirp->data, maxread);
|
||||
if (bytes <= 0)
|
||||
{
|
||||
dp = NULL;
|
||||
|
Reference in New Issue
Block a user