bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] pipe, pipe2: don't corrupt fd on error


From: Eric Blake
Subject: Re: [PATCH] pipe, pipe2: don't corrupt fd on error
Date: Wed, 29 Jun 2011 17:08:12 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.10

On 06/29/2011 04:55 PM, Bruno Haible wrote:
> Hi Eric,

Hi Bruno,

>> +  int tmp[2] = { fd[0], fd[1] };
>> +
> 
> This gives a compilation error with 'cc' on IRIX 6.5:

Bah.  I'm pushing this followup:

diff --git a/ChangeLog b/ChangeLog
index ef00206..1c04ff4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-06-29  Eric Blake  <address@hidden>

+       pipe2: fix C89 compile problem
+       * lib/pipe2.c (pipe2): Avoid C99 array initialization.
+       Reported by Bruno Haible.
+
        pipe, pipe2: don't corrupt fd on error
        * lib/pipe.c (pipe): Leave fd unchanged on error.
        * lib/pipe2.c (pipe2): Likewise.
diff --git a/lib/pipe2.c b/lib/pipe2.c
index 1590dee..12cac6e 100644
--- a/lib/pipe2.c
+++ b/lib/pipe2.c
@@ -43,7 +43,9 @@ pipe2 (int fd[2], int flags)
   /* Mingw _pipe() corrupts fd on failure; also, if we succeed at
      creating the pipe but later fail at changing fcntl, we want
      to leave fd unchanged: http://austingroupbugs.net/view.php?id=467  */
-  int tmp[2] = { fd[0], fd[1] };
+  int tmp[2];
+  tmp[0] = fd[0];
+  tmp[1] = fd[1];

 #if HAVE_PIPE2
 # undef pipe2
-- 
1.7.4.4

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]