X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FStorage%2FFDDv2%2Fmain.c;h=90cff7f418999fb3ec3f30e5225dfa07c52ceb68;hb=3ee2be420147b69f6d8bfca559f1edab1303455b;hp=c33dcdad8f96fba481cf3f03367562e5b3769e8c;hpb=880dd63bfcba522dab0a75cc63fdec1d04ff8c89;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Storage/FDDv2/main.c b/KernelLand/Modules/Storage/FDDv2/main.c index c33dcdad..90cff7f4 100644 --- a/KernelLand/Modules/Storage/FDDv2/main.c +++ b/KernelLand/Modules/Storage/FDDv2/main.c @@ -21,7 +21,7 @@ int FDD_Install(char **Arguments); int FDD_RegisterFS(void); // --- VFS -char *FDD_ReadDir(tVFS_Node *Node, int pos); + int FDD_ReadDir(tVFS_Node *Node, int pos, char dest[FILENAME_MAX]); tVFS_Node *FDD_FindDir(tVFS_Node *dirNode, const char *Name); int FDD_IOCtl(tVFS_Node *Node, int ID, void *Data); size_t FDD_ReadFS(tVFS_Node *node, off_t Offset, size_t Len, void *buffer); @@ -111,17 +111,16 @@ int FDD_RegisterFS(void) * \param Pos Position * \return Heap string of node name */ -char *FDD_ReadDir(tVFS_Node *Node, int Pos) +int FDD_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX]) { - char ret_tpl[2]; if(Pos < 0 || Pos > MAX_DISKS ) - return NULL; - if(gaFDD_Disks[Pos].bValid) - return VFS_SKIP; + return -ENOENT; + if(!gaFDD_Disks[Pos].bValid) + return 1; - ret_tpl[0] = '0' + Pos; - ret_tpl[1] = '\0'; - return strdup(ret_tpl); + Dest[0] = '0' + Pos; + Dest[1] = '\0'; + return 0; } /**