diff options
author | Michael I. Bushnell <mib@gnu.org> | 1994-06-30 00:27:52 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1994-06-30 00:27:52 +0000 |
commit | 674d79863886ad8c88e3bb59d8508a7a9ea2891d (patch) | |
tree | 4a9765760a8b974fe6aaa1f8e07bc116bf46acb9 /libtrivfs | |
parent | c40cdc177d5868ff2ca7fa36d37cd3dda2053d4d (diff) |
Formerly fsys-getroot.c.~12~
Diffstat (limited to 'libtrivfs')
-rw-r--r-- | libtrivfs/fsys-getroot.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libtrivfs/fsys-getroot.c b/libtrivfs/fsys-getroot.c index a497da39..d44aeca4 100644 --- a/libtrivfs/fsys-getroot.c +++ b/libtrivfs/fsys-getroot.c @@ -52,10 +52,9 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl, if (!cntl) return EOPNOTSUPP; - if (((flags & O_READ) && !trivfs_support_read) - || ((flags & O_WRITE) && !trivfs_support_write) - || ((flags & O_EXEC) && !trivfs_support_exec)) - return EACCES; + if ((flags & (O_READ|O_WRITE|O_EXEC) & trivfs_allow_open) + != (flags & (O_READ|O_WRITE|O_EXEC))) + return EOPNOTSUPP; /* O_CREAT and O_EXCL are not meaningful here; O_NOLINK and O_NOTRANS will only be useful when trivfs supports translators (which it doesn't @@ -85,8 +84,6 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl, } } - /* At this point we are commited to the open, now or in the - future. */ cred = ports_allocate_port (sizeof (struct trivfs_protid), cntl->protidtypes); cred->isroot = 0; @@ -147,9 +144,12 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl, #if 0 void trivfs_complete_open (struct trivfs_control *cntl, - int multi) + int multi, + error_t err) { struct pending_open *pendo, *nxt; + +#error CHECK ERR HERE. if (!multi) { |