Merge branch 'master' of git://ted.mutabah.net/acess2
[tpg/acess2.git] / KernelLand / Kernel / vfs / open.c
index 748d0f7..f0b5734 100644 (file)
@@ -296,7 +296,7 @@ restart_parse:
                pathEle[nextSlash] = 0;
        
                // Check permissions on root of filesystem
-               if( !VFS_CheckACL(curNode, VFS_PERM_EXECUTE) ) {
+               if( !VFS_CheckACL(curNode, VFS_PERM_EXEC) ) {
                        LOG("Permissions failure on '%s'", Path);
                        errno = EPERM;
                        goto _error;
@@ -474,7 +474,7 @@ int VFS_int_CreateHandle( tVFS_Node *Node, tVFS_Mount *Mount, int Mode )
        ENTER("pNode pMount xMode", Node, Mount, Mode);
 
        i = 0;
-       i |= (Mode & VFS_OPENFLAG_EXEC) ? VFS_PERM_EXECUTE : 0;
+       i |= (Mode & VFS_OPENFLAG_EXEC) ? VFS_PERM_EXEC : 0;
        i |= (Mode & VFS_OPENFLAG_READ) ? VFS_PERM_READ : 0;
        i |= (Mode & VFS_OPENFLAG_WRITE) ? VFS_PERM_WRITE : 0;
        
@@ -557,7 +557,7 @@ int VFS_OpenEx(const char *Path, Uint Flags, Uint Mode)
                }
 
                // Check ACLs on the parent
-               if( !VFS_CheckACL(pnode, VFS_PERM_EXECUTE|VFS_PERM_WRITE) ) {
+               if( !VFS_CheckACL(pnode, VFS_PERM_EXEC|VFS_PERM_WRITE) ) {
                        errno = EACCES;
                        goto _pnode_err;
                }
@@ -706,7 +706,8 @@ int VFS_OpenInode(Uint32 Mount, Uint64 Inode, int Mode)
        
        // Does the filesystem support this?
        if( !mnt->Filesystem->GetNodeFromINode ) {
-               LOG("Filesystem does not support inode accesses");
+               Log_Notice("VFS", "Filesystem '%s' does not support inode accesses",
+                       mnt->Filesystem->Name);
                errno = ENOENT;
                LEAVE_RET('i', -1);
        }
@@ -810,7 +811,10 @@ int VFS_DuplicateFD(int SrcFD, int DstFD)
 int VFS_SetFDFlags(int FD, int Mask, int Value)
 {
        tVFS_Handle     *h = VFS_GetHandle(FD);
-       if(!FD) return -1;
+       if(!h) {
+               errno = EBADF;
+               return -1;
+       }
         int    ret = h->Mode;
        
        Value &= Mask;

UCC git Repository :: git.ucc.asn.au