diff --git a/Userspace/libc/include/dirent.h b/Userspace/libc/include/dirent.h index 99ac3620..b47a0138 100644 --- a/Userspace/libc/include/dirent.h +++ b/Userspace/libc/include/dirent.h @@ -60,7 +60,7 @@ extern "C" int alphasort(const struct dirent **, const struct dirent **); int closedir(DIR *dirp); - int dirfd(DIR *); + int dirfd(DIR *dirp); DIR *fdopendir(int); DIR *opendir(const char *); ssize_t posix_getdents(int, void *, size_t, int); diff --git a/Userspace/libc/include/unistd.h b/Userspace/libc/include/unistd.h index 759f8ceb..0be84937 100644 --- a/Userspace/libc/include/unistd.h +++ b/Userspace/libc/include/unistd.h @@ -65,7 +65,7 @@ extern "C" int chdir(const char *); int chroot(const char *); int chown(const char *, uid_t, gid_t); - int close(int); + int close(int fildes); size_t confstr(int, char *, size_t); char *crypt(const char *, const char *); char *ctermid(char *); diff --git a/Userspace/libc/src/std/dirent.c b/Userspace/libc/src/std/dirent.c index f0ff6b3d..a9247c1c 100644 --- a/Userspace/libc/src/std/dirent.c +++ b/Userspace/libc/src/std/dirent.c @@ -45,7 +45,12 @@ export int closedir(DIR *dirp) return 0; } -export int dirfd(DIR *); +export int dirfd(DIR *dirp) +{ + printf("dirfd() is unimplemented\n"); + return __check_errno(-ENOSYS, -1); +} + export DIR *fdopendir(int); export DIR *opendir(const char *); export ssize_t posix_getdents(int, void *, size_t, int); diff --git a/Userspace/libc/src/std/unistd.c b/Userspace/libc/src/std/unistd.c index 5702edb4..5426990d 100644 --- a/Userspace/libc/src/std/unistd.c +++ b/Userspace/libc/src/std/unistd.c @@ -40,7 +40,12 @@ export int brk(void *); export int chdir(const char *); export int chroot(const char *); export int chown(const char *, uid_t, gid_t); -export int close(int); + +export int close(int fildes) +{ + return __check_errno(call_close(fildes), -1); +} + export size_t confstr(int, char *, size_t); export char *crypt(const char *, const char *); export char *ctermid(char *);