merge from gcc
authorDJ Delorie <dj@redhat.com>
Thu, 31 Jul 2008 22:01:30 +0000 (22:01 +0000)
committerDJ Delorie <dj@redhat.com>
Thu, 31 Jul 2008 22:01:30 +0000 (22:01 +0000)
libiberty/ChangeLog
libiberty/mkstemps.c

index da52583c8f29ee79ad43a98539b1920cb61aa112..fa8abf51415ea6c32f1aab2a6bc54d1554acd6c0 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * mkstemps.c (mkstemps): Keep looping even for EISDIR.
+
 2008-07-31  Denys Vlasenko  <dvlasenk@redhat.com>
 
        * mkstemps.c (mkstemps): If open failed with errno other than
index 093b67af868baa27dc58a07e77a7abbb5f0ba434..a0e68a73b4915d27d97b3b9d5d3779f6c3f7023f 100644 (file)
@@ -127,7 +127,11 @@ mkstemps (char *pattern, int suffix_len)
       if (fd >= 0)
        /* The file does not exist.  */
        return fd;
-      if (errno != EEXIST)
+      if (errno != EEXIST
+#ifdef EISDIR
+         && errno != EISDIR
+#endif
+        )
        /* Fatal error (EPERM, ENOSPC etc).  Doesn't make sense to loop.  */
        break;