diff options
Diffstat (limited to 'libnetfs/dir-readdir.c')
-rw-r--r-- | libnetfs/dir-readdir.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libnetfs/dir-readdir.c b/libnetfs/dir-readdir.c index 85719302..7f896ac1 100644 --- a/libnetfs/dir-readdir.c +++ b/libnetfs/dir-readdir.c @@ -1,5 +1,5 @@ -/* - Copyright (C) 1996 Free Software Foundation, Inc. +/* + Copyright (C) 1996,99,2002 Free Software Foundation, Inc. Written by Michael I. Bushnell, p/BSG. This file is part of the GNU Hurd. @@ -27,6 +27,7 @@ error_t netfs_S_dir_readdir (struct protid *user, char **data, mach_msg_type_number_t *datacnt, + boolean_t *data_dealloc, int entry, int nentries, vm_size_t bufsiz, @@ -34,23 +35,24 @@ netfs_S_dir_readdir (struct protid *user, { error_t err; struct node *np; - + if (!user) return EOPNOTSUPP; - + np = user->po->np; mutex_lock (&np->lock); - + err = 0; if ((user->po->openstat & O_READ) == 0) err = EBADF; if (!err) - err = netfs_validate_stat (np, user->credential); + err = netfs_validate_stat (np, user->user); if (!err && (np->nn_stat.st_mode & S_IFMT) != S_IFDIR) err = ENOTDIR; if (!err) - err = netfs_get_dirents (user->credential, np, entry, nentries, data, + err = netfs_get_dirents (user->user, np, entry, nentries, data, datacnt, bufsiz, amt); + *data_dealloc = 1; /* XXX */ mutex_unlock (&np->lock); return err; } |