xnanosleep: Move AC_LIBOBJ invocations to module description.
[pspp] / lib / opendir-safer.c
index f1e5fb7aa88ebdce4a8493e2eb8c911a775e4258..3726f88b13f5a74afd7141447ca7673ee711e5a7 100644 (file)
@@ -50,10 +50,18 @@ opendir_safer (char const *name)
           int e;
 #if HAVE_FDOPENDIR || GNULIB_FDOPENDIR
           int f = dup_safer (fd);
-          newdp = fdopendir (f);
-          e = errno;
-          if (! newdp)
-            close (f);
+          if (f < 0)
+            {
+              e = errno;
+              newdp = NULL;
+            }
+          else
+            {
+              newdp = fdopendir (f);
+              e = errno;
+              if (! newdp)
+                close (f);
+            }
 #else /* !FDOPENDIR */
           newdp = opendir_safer (name);
           e = errno;