diff options
author | Roland McGrath <roland@gnu.org> | 2001-06-16 20:23:09 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2001-06-16 20:23:09 +0000 |
commit | 487bba2f0cd506b4a79e1d92184a5f80d827954f (patch) | |
tree | f26a7bc5548e27603cdd3a239fec26490b2f8b4a /libdiskfs/fsys-getfile.c | |
parent | a2529808d1aaf878eb6fff54ab491bd3d47db894 (diff) |
2001-04-01 Neal H Walfield <neal@cs.uml.edu>
* dir-lookup.c (diskfs_S_dir_lookup): Use
iohelp_create_empty_iouser.
* fsys-getfile.c (diskfs_S_fsys_getfile): Use
iohelp_create_complex_iouser.
* io-reauthenticate.c (diskfs_S_io_reauthenticate): Use
new iohelp_reauth semantics.
* io-restrict-auth.c (diskfs_S_io_restrict_auth): Use
new iohelp_create_iouser semantics.
* protid-make.c (diskfs_finish_protid): Use
iohelp_create_simple_iouser and new iohelp_dup_iouse
semantics.
* trans-callback.c (_diskfs_translator_callback2_fn):
Use iohelp_create_simple_iouser.
Diffstat (limited to 'libdiskfs/fsys-getfile.c')
-rw-r--r-- | libdiskfs/fsys-getfile.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libdiskfs/fsys-getfile.c b/libdiskfs/fsys-getfile.c index 7d125304..efa0cdf0 100644 --- a/libdiskfs/fsys-getfile.c +++ b/libdiskfs/fsys-getfile.c @@ -1,6 +1,6 @@ /* Return the file for a given handle (for nfs server support) - Copyright (C) 1997,99 Free Software Foundation, Inc. + Copyright (C) 1997,99,2001 Free Software Foundation, Inc. This file is part of the GNU Hurd. @@ -39,7 +39,6 @@ diskfs_S_fsys_getfile (mach_port_t fsys, struct node *node; const union diskfs_fhandle *f; struct protid *new_cred; - struct idvec *uvec, *gvec; struct iouser *user; struct port_info *pt = ports_lookup_port (diskfs_port_bucket, fsys, diskfs_control_class); @@ -69,12 +68,13 @@ diskfs_S_fsys_getfile (mach_port_t fsys, return ESTALE; } - uvec = make_idvec (); - gvec = make_idvec (); - - idvec_set_ids (uvec, uids, nuids); - idvec_set_ids (gvec, gids, ngids); - user = iohelp_create_iouser (uvec, gvec); + err = iohelp_create_complex_iouser (&user, uids, nuids, gids, ngids); + if (err) + { + diskfs_nput (node); + ports_port_deref (pt); + return err; + } flags = 0; if (! fshelp_access (&node->dn_stat, S_IREAD, user)) |