delete trailing whitespace from control files
[debian/gzip] / lib / closedir.c
index fa8e210633befaefe47122baf385108cae2a8e14..562a3ec07bee13ee98cc2fd27b2016c20fe2f23b 100644 (file)
@@ -1,5 +1,5 @@
 /* Stop reading the entries of a directory.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2018 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -39,7 +39,7 @@
 int
 closedir (DIR *dirp)
 {
-# if REPLACE_FCHDIR
+# if REPLACE_FCHDIR || REPLACE_DIRFD
   int fd = dirfd (dirp);
 # endif
   int retval;
@@ -49,6 +49,10 @@ closedir (DIR *dirp)
 
   retval = closedir (dirp);
 
+# ifdef __KLIBC__
+  if (!retval)
+    _gl_unregister_dirp_fd (fd);
+# endif
 #else
 
   if (dirp->current != INVALID_HANDLE_VALUE)