X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibposix.so_src%2Fdirent.c;h=e721a4f0be22cf15a18ebc069479a4aaed922827;hb=70d0f9abb42fb0b25f35b3fca91159e5c3a90316;hp=5722aa458074d8d0b92d6eef5894d382430387e8;hpb=a8759b69a7dddfeff55bdfde62a9a0765ccc7eee;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libposix.so_src/dirent.c b/Usermode/Libraries/libposix.so_src/dirent.c index 5722aa45..e721a4f0 100644 --- a/Usermode/Libraries/libposix.so_src/dirent.c +++ b/Usermode/Libraries/libposix.so_src/dirent.c @@ -9,6 +9,7 @@ #include // NULL #include #include +#include struct DIR_s { @@ -24,9 +25,10 @@ DIR *fdopendir(int fd) if( _SysFInfo(fd, &info, 0) != 0 ) return NULL; - - - return NULL; + DIR *ret = malloc(sizeof(DIR)); + ret->fd = fd; + ret->pos = 0; + return ret; } DIR *opendir(const char *name) @@ -48,6 +50,8 @@ int closedir(DIR *dp) errno = EINVAL; return -1; } + _SysClose(dp->fd); + free(dp); return 0; }