X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Fvfs%2Ffs%2Froot.c;h=e27c6368355acf3619f20bd712d66ef273f35cb2;hb=1a96e0dd77d6922078edd703fc7c2e809b9499b8;hp=95e308ae43f70dba71117a82c1e1d94b6c41f7cd;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/vfs/fs/root.c b/Kernel/vfs/fs/root.c index 95e308ae..e27c6368 100644 --- a/Kernel/vfs/fs/root.c +++ b/Kernel/vfs/fs/root.c @@ -19,7 +19,9 @@ tRamFS_File *Root_int_AllocFile(); // === GLOBALS === tVFS_Driver gRootFS_Info = { - "rootfs", 0, Root_InitDevice, + "rootfs", 0, + Root_InitDevice, + NULL, // Unmount NULL }; tRamFS_File RootFS_Files[MAX_FILES]; @@ -71,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(); @@ -106,6 +111,9 @@ int Root_MkNod(tVFS_Node *Node, char *Name, Uint Flags) prev->Next = child; + parent->Node.Size ++; + + LEAVE('i', 1); return 1; } @@ -140,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 child->Name; + return NULL; } /** @@ -177,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);