diff options
Diffstat (limited to 'sysdeps/mach/hurd/readdir64.c')
-rw-r--r-- | sysdeps/mach/hurd/readdir64.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c index 47829d9..ceb7083 100644 --- a/sysdeps/mach/hurd/readdir64.c +++ b/sysdeps/mach/hurd/readdir64.c @@ -43,12 +43,13 @@ __readdir64 (DIR *dirp) /* We've emptied out our buffer. Refill it. */ char *data = dirp->__data; + mach_msg_type_number_t data_size = dirp->__size; int nentries; error_t err; if (err = HURD_FD_PORT_USE (dirp->__fd, __dir_readdir (port, - &data, &dirp->__size, + &data, &data_size, dirp->__entry_ptr, -1, 0, &nentries))) { @@ -57,6 +58,7 @@ __readdir64 (DIR *dirp) break; } + dirp->__size = data_size; /* DATA now corresponds to entry index DIRP->__entry_ptr. */ dirp->__entry_data = dirp->__entry_ptr; |