X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Ffs%2Froot.c;h=7a1dade34f10861bc40d805f96b6c647b0ebbda6;hb=466eda7c917791866a29c253c6c22197faf41bf7;hp=2f5d6e51ec324d1801d96905f03bed92582131f8;hpb=d7801bfc828d3328ac9a0172db8a71b8f33c4a19;p=tpg%2Facess2.git diff --git a/Kernel/vfs/fs/root.c b/Kernel/vfs/fs/root.c index 2f5d6e51..7a1dade3 100644 --- a/Kernel/vfs/fs/root.c +++ b/Kernel/vfs/fs/root.c @@ -9,7 +9,7 @@ #define MAX_FILES 64 // === PROTOTYPES === -tVFS_Node *Root_InitDevice(char *Device, char *Options); +tVFS_Node *Root_InitDevice(char *Device, char **Options); int Root_MkNod(tVFS_Node *Node, char *Name, Uint Flags); tVFS_Node *Root_FindDir(tVFS_Node *Node, char *Name); char *Root_ReadDir(tVFS_Node *Node, int Pos); @@ -33,10 +33,10 @@ tVFS_ACL RootFS_ACLs[3] = { // === CODE === /** - * \fn tVFS_Node *Root_InitDevice(char *Device, char *Options) + * \fn tVFS_Node *Root_InitDevice(char *Device, char **Options) * \brief Initialise the root filesystem */ -tVFS_Node *Root_InitDevice(char *Device, char *Options) +tVFS_Node *Root_InitDevice(char *Device, char **Options) { tRamFS_File *root; if(strcmp(Device, "root") != 0) { @@ -73,12 +73,15 @@ int Root_MkNod(tVFS_Node *Node, char *Name, Uint Flags) tRamFS_File *child = parent->Data.FirstChild; tRamFS_File *prev = (tRamFS_File *) &parent->Data.FirstChild; - Log("Root_MkNod: (Node=%p, Name='%s', Flags=0x%x)", Node, Name, Flags); + ENTER("pNode sName xFlags", Node, Name, Flags); // Find last child, while we're at it, check for duplication for( ; child; prev = child, child = child->Next ) { - if(strcmp(child->Name, Name) == 0) return 0; + if(strcmp(child->Name, Name) == 0) { + LEAVE('i', 0); + return 0; + } } child = Root_int_AllocFile(); @@ -110,6 +113,7 @@ int Root_MkNod(tVFS_Node *Node, char *Name, Uint Flags) parent->Node.Size ++; + LEAVE('i', 1); return 1; } @@ -144,9 +148,9 @@ char *Root_ReadDir(tVFS_Node *Node, int Pos) for( ; child && Pos--; child = child->Next ) ; - if(Pos) return child->Name; + if(Pos) return strdup(child->Name); - return strdup(child->Name); + return NULL; } /** @@ -181,12 +185,12 @@ Uint64 Root_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer) { void *tmp = realloc( file->Data.Bytes, Offset + Length ); if(tmp == NULL) { - Warning("Root_Write - Increasing buffer size failed\n"); + Warning("Root_Write - Increasing buffer size failed"); return -1; } file->Data.Bytes = tmp; Node->Size = Offset + Length; - Log(" Root_Write: Expanded buffer to %i bytes\n", Node->Size); + //LOG("Expanded buffer to %i bytes", Node->Size); } memcpy(file->Data.Bytes+Offset, Buffer, Length);