From c1f7f96bbf8fc49cfd97ad0b727dba3462029013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 10 Jul 2002 21:47:38 +0000 Subject: [PATCH] Added a parameter for the maximum number of dirents for sys_read_dir(). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@59 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/fd.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kernel/core/fd.c b/src/kernel/core/fd.c index fef2f6f4b5..17e07f40ba 100644 --- a/src/kernel/core/fd.c +++ b/src/kernel/core/fd.c @@ -209,21 +209,21 @@ user_ioctl(int fd, ulong op, void *buffer, size_t length) ssize_t -user_read_dir(int fd, struct dirent *buffer,size_t bufferSize) +user_read_dir(int fd, struct dirent *buffer,size_t bufferSize,uint32 maxCount) { struct file_descriptor *descriptor; ssize_t retval; CHECK_USER_ADDR(buffer) - PRINT(("user_read_dir(fd = %d, buffer = 0x%p, bufferSize = %ld)\n",fd,buffer,bufferSize)); + PRINT(("user_read_dir(fd = %d, buffer = 0x%p, bufferSize = %ld, count = %d)\n",fd,buffer,bufferSize,maxCount)); descriptor = get_fd(get_current_io_context(false), fd); if (descriptor == NULL) return EBADF; if (descriptor->ops->fd_read_dir) { - uint32 count; + uint32 count = maxCount; retval = descriptor->ops->fd_read_dir(descriptor,buffer,bufferSize,&count); if (retval >= 0) retval = count; @@ -389,19 +389,19 @@ sys_ioctl(int fd, ulong op, void *buffer, size_t length) ssize_t -sys_read_dir(int fd, struct dirent *buffer,size_t bufferSize) +sys_read_dir(int fd, struct dirent *buffer,size_t bufferSize,uint32 maxCount) { struct file_descriptor *descriptor; ssize_t retval; - PRINT(("sys_read_dir(fd = %d, buffer = 0x%p, bufferSize = %ld)\n",fd,buffer,bufferSize)); + PRINT(("sys_read_dir(fd = %d, buffer = 0x%p, bufferSize = %ld, count = %u)\n",fd,buffer,bufferSize,maxCount)); descriptor = get_fd(get_current_io_context(false), fd); if (descriptor == NULL) return EBADF; if (descriptor->ops->fd_read_dir) { - uint32 count; + uint32 count = maxCount; retval = descriptor->ops->fd_read_dir(descriptor,buffer,bufferSize,&count); if (retval >= 0) retval = count;