diff --git a/include/dirent.h b/include/dirent.h index 81ad24d9dd..4e95ffd6cd 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -2,6 +2,7 @@ # include # include # include +# include /* Now define the internal interfaces. */ extern DIR *__opendir (__const char *__name); diff --git a/sysdeps/mach/hurd/fdopendir.c b/sysdeps/mach/hurd/fdopendir.c index d08e478c61..37dd4bc82e 100644 --- a/sysdeps/mach/hurd/fdopendir.c +++ b/sysdeps/mach/hurd/fdopendir.c @@ -21,6 +21,7 @@ #include #include #include +#include DIR *_hurd_fd_opendir (struct hurd_fd *d); /* opendir.c */ @@ -28,7 +29,7 @@ DIR *_hurd_fd_opendir (struct hurd_fd *d); /* opendir.c */ DIR * fdopendir (int fd) { - struct hurd_fd *d = _hurd_fd_get (d); + struct hurd_fd *d = _hurd_fd_get (fd); if (d == NULL) { diff --git a/sysdeps/mach/hurd/opendir.c b/sysdeps/mach/hurd/opendir.c index 949db0fff5..5b10142d39 100644 --- a/sysdeps/mach/hurd/opendir.c +++ b/sysdeps/mach/hurd/opendir.c @@ -110,8 +110,6 @@ __opendir (const char *name) if (dirp == NULL) __close (fd); - } - return dirp; } weak_alias (__opendir, opendir)