Fix test of fcntl's return value.
authorBruno Haible <bruno@clisp.org>
Sat, 22 Aug 2009 23:37:15 +0000 (01:37 +0200)
committerBruno Haible <bruno@clisp.org>
Sat, 22 Aug 2009 23:37:15 +0000 (01:37 +0200)
ChangeLog
lib/pipe-filter-gi.c
lib/pipe-filter-ii.c

index b8aff86..5b865c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2009-08-22  Bruno Haible  <bruno@clisp.org>
 
+       * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
+       return value.
+       * lib/pipe-filter-gi.c (filter_init): Likewise.
+       Reported by Eric Blake.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
        * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
        * modules/pipe (Depends-on): Add pipe2.
 
index 886820a..340b38a 100644 (file)
@@ -248,9 +248,9 @@ filter_init (struct pipe_filter_gi *filter)
     int fcntl_flags;
 
     if ((fcntl_flags = fcntl (filter->fd[1], F_GETFL, 0)) < 0
-       || fcntl (filter->fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) < 0
+       || fcntl (filter->fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) == -1
        || (fcntl_flags = fcntl (filter->fd[0], F_GETFL, 0)) < 0
-       || fcntl (filter->fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) < 0)
+       || fcntl (filter->fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) == -1)
       {
        if (filter->exit_on_error)
          error (EXIT_FAILURE, errno,
index 8281ad0..cbdaf94 100644 (file)
@@ -289,9 +289,9 @@ pipe_filter_ii_execute (const char *progname,
       int fcntl_flags;
 
       if ((fcntl_flags = fcntl (fd[1], F_GETFL, 0)) < 0
-         || fcntl (fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) < 0
+         || fcntl (fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) == -1
          || (fcntl_flags = fcntl (fd[0], F_GETFL, 0)) < 0
-         || fcntl (fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) < 0)
+         || fcntl (fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) == -1)
        {
          if (exit_on_error)
            error (EXIT_FAILURE, errno,