]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(set_fd_flags): Undo part of today's change: it's a little
authorJim Meyering <jim@meyering.net>
Thu, 8 Apr 2004 21:30:18 +0000 (21:30 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 8 Apr 2004 21:30:18 +0000 (21:30 +0000)
cleaner -- and more efficient in the common case -- to go
ahead and OR in the -1 when fcntl fails.

src/dd.c

index 8b3b67f89f27e0a7a2222e6d9f647496a201d4ec..0b486e634c02e82d701ebbf00ee7406d3737a307 100644 (file)
--- a/src/dd.c
+++ b/src/dd.c
@@ -1014,7 +1014,7 @@ copy_with_unblock (char const *buf, size_t nread)
 }
 
 /* Set the file descriptor flags for FD that correspond to the nonzero bits
-   in FLAGS.  The file's name is NAME.  */
+   in ADD_FLAGS.  The file's name is NAME.  */
 
 static void
 set_fd_flags (int fd, int add_flags, char const *name)
@@ -1022,7 +1022,7 @@ set_fd_flags (int fd, int add_flags, char const *name)
   if (add_flags)
     {
       int old_flags = fcntl (fd, F_GETFL);
-      int new_flags = old_flags < 0 ? add_flags : (old_flags | add_flags);
+      int new_flags = old_flags | add_flags;
       if (old_flags < 0
          || (new_flags != old_flags && fcntl (fd, F_SETFL, new_flags) == -1))
        error (EXIT_FAILURE, errno, _("setting flags for %s"), quote (name));