aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/readdir64.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/readdir64.c')
-rw-r--r--sysdeps/mach/hurd/readdir64.c4
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;