(check in files that should have been checked in previously)

* fhandler.cc (fhandler_base::open_9x): Remove (broken) check for
O_CREAT|O_EXCL.
* syscalls.cc (open): Do O_CREAT|O_EXCL check here first.
This commit is contained in:
Christopher Faylor
2005-04-28 03:41:09 +00:00
parent faae8c50a5
commit 5c70f2f92e
2 changed files with 7 additions and 3 deletions

View File

@@ -564,6 +564,12 @@ open (const char *unix_path, int flags, ...)
{
if (!(fh = build_fh_name (unix_path, NULL, PC_SYM_FOLLOW)))
res = -1; // errno already set
else if (((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL)) && fh->exists ())
{
delete fh;
res = -1;
set_errno (EEXIST);
}
else if (fh->is_fs_special () && fh->device_access_denied (flags))
{
delete fh;