Kernel - Changed VFS_SelectNode to be able to watch multiple attribs
[tpg/acess2.git] / Kernel / vfs / open.c
index b0de784..5d1d9fa 100644 (file)
@@ -15,8 +15,6 @@
 // === IMPORTS ===
 extern tVFS_Node       gVFS_MemRoot;
 extern tVFS_Mount      *gVFS_RootMount;
-
-extern tVFS_Handle     *VFS_GetHandle(int FD);
 extern int     VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode);
 
 // === CODE ===
@@ -32,9 +30,9 @@ char *VFS_GetAbsPath(const char *Path)
        char    *tmpStr;
        int             iPos = 0;
        int             iPos2 = 0;
-       char    *chroot = CFGPTR(CFG_VFS_CHROOT);
+       const char      *chroot = CFGPTR(CFG_VFS_CHROOT);
         int    chrootLen;
-       char    *cwd = CFGPTR(CFG_VFS_CWD);
+       const char      *cwd = CFGPTR(CFG_VFS_CWD);
         int    cwdLen;
        
        ENTER("sPath", Path);
@@ -43,7 +41,7 @@ char *VFS_GetAbsPath(const char *Path)
        if(Path[0] == '$') {
                ret = malloc(strlen(Path)+1);
                if(!ret) {
-                       Warning("VFS_GetAbsPath - malloc() returned NULL");
+                       Log_Warning("VFS", "VFS_GetAbsPath: malloc() returned NULL");
                        return NULL;
                }
                strcpy(ret, Path);
@@ -63,7 +61,7 @@ char *VFS_GetAbsPath(const char *Path)
        if(Path[0] == '/') {
                ret = malloc(pathLen + 1);
                if(!ret) {
-                       Warning("VFS_GetAbsPath - malloc() returned NULL");
+                       Log_Warning("VFS", "VFS_GetAbsPath: malloc() returned NULL");
                        return NULL;
                }
                strcpy(ret, Path);
@@ -80,7 +78,7 @@ char *VFS_GetAbsPath(const char *Path)
                strcpy(ret, cwd);
                ret[cwdLen] = '/';
                strcpy(&ret[cwdLen+1], Path);
-               //Log("ret = '%s'\n", ret);
+               //Log("ret = '%s'", ret);
        }
        
        // Parse Path
@@ -442,10 +440,10 @@ tVFS_Node *VFS_ParsePath(const char *Path, char **TruePath)
 }
 
 /**
- * \fn int VFS_Open(char *Path, Uint Mode)
+ * \fn int VFS_Open(const char *Path, Uint Mode)
  * \brief Open a file
  */
-int VFS_Open(char *Path, Uint Mode)
+int VFS_Open(const char *Path, Uint Mode)
 {
        tVFS_Node       *node;
        char    *absPath;
@@ -510,7 +508,7 @@ int VFS_Open(char *Path, Uint Mode)
        }
        
        i = VFS_AllocHandle( !!(Mode & VFS_OPENFLAG_USER), node, Mode );
-       if( i > 0 ) {
+       if( i >= 0 ) {
                LEAVE('x', i);
                return i;
        }
@@ -524,7 +522,7 @@ int VFS_Open(char *Path, Uint Mode)
 /**
  * \brief Open a file from an open directory
  */
-int VFS_OpenChild(Uint *Errno, int FD, char *Name, Uint Mode)
+int VFS_OpenChild(Uint *Errno, int FD, const char *Name, Uint Mode)
 {
        tVFS_Handle     *h;
        tVFS_Node       *node;
@@ -570,7 +568,7 @@ int VFS_OpenChild(Uint *Errno, int FD, char *Name, Uint Mode)
        }
        
        i = VFS_AllocHandle( !!(Mode & VFS_OPENFLAG_USER), node, Mode );
-       if( i > 0 ) {
+       if( i >= 0 ) {
                LEAVE('x', i);
                return i;
        }
@@ -592,7 +590,7 @@ void VFS_Close(int FD)
        // Get handle
        h = VFS_GetHandle(FD);
        if(h == NULL) {
-               Log_Warning("VFS", "Invalid file handle passed to VFS_Close, 0x%x\n", FD);
+               Log_Warning("VFS", "Invalid file handle passed to VFS_Close, 0x%x", FD);
                return;
        }
        
@@ -613,7 +611,7 @@ void VFS_Close(int FD)
 /**
  * \brief Change current working directory
  */
-int VFS_ChDir(char *Dest)
+int VFS_ChDir(const char *Dest)
 {
        char    *buf;
         int    fd;
@@ -659,7 +657,7 @@ int VFS_ChDir(char *Dest)
  * \fn int VFS_ChRoot(char *New)
  * \brief Change current root directory
  */
-int VFS_ChRoot(char *New)
+int VFS_ChRoot(const char *New)
 {
        char    *buf;
         int    fd;

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