bug-diffutils
[Top][All Lists]
Advanced

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

[bug-diffutils] [PATCH] use binary-io instead of xfreopen


From: claudio . bley
Subject: [bug-diffutils] [PATCH] use binary-io instead of xfreopen
Date: Sun, 04 Sep 2011 23:00:49 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hi.

Using NULL as filename to xfreopen is not portable. The following patch uses the
binary-io gnulib module instead.

Cheers,
Claudio

>From 03809243e925f55abd73ba6cb0e66d2ebe22fa4e Mon Sep 17 00:00:00 2001
From: Claudio Bley <address@hidden>
Date: Thu, 4 Sep 2011 18:01:57 +0200
Subject: [PATCH] Use gnulib's binary-io module instead of xfreopen to change
 the translation mode.

---
 bootstrap.conf |    1 +
 src/cmp.c      |    4 ++--
 src/diff.c     |    6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index cc6d88c..c4e340e 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -19,6 +19,7 @@
 # gnulib modules used by this package.
 gnulib_modules='
 announce-gen
+binary-io
 c-stack
 config-h
 diffseq
diff --git a/src/cmp.c b/src/cmp.c
index adf1cf9..2620b0f 100644
--- a/src/cmp.c
+++ b/src/cmp.c
@@ -33,7 +33,7 @@
 #include <unlocked-io.h>
 #include <version-etc.h>
 #include <xalloc.h>
-#include <xfreopen.h>
+#include <binary-io.h>
 #include <xstrtol.h>
 
 /* The official name of this program (e.g., no `g' prefix).  */
@@ -293,7 +293,7 @@ main (int argc, char **argv)
        {
          file_desc[f1] = STDIN_FILENO;
          if (O_BINARY && ! isatty (STDIN_FILENO))
-           xfreopen (NULL, "rb", stdin);
+           SET_BINARY (STDIN_FILENO);
        }
       else
        file_desc[f1] = open (file[f1], O_RDONLY | O_BINARY, 0);
diff --git a/src/diff.c b/src/diff.c
index c096406..170d42f 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -39,7 +39,7 @@
 #include <timespec.h>
 #include <version-etc.h>
 #include <xalloc.h>
-#include <xfreopen.h>
+#include <binary-io.h>
 
 /* The official name of this program (e.g., no `g' prefix).  */
 #define PROGRAM_NAME "diff"
@@ -525,7 +525,7 @@ main (int argc, char **argv)
 #if O_BINARY
          binary = true;
          if (! isatty (STDOUT_FILENO))
-           xfreopen (NULL, "wb", stdout);
+           SET_BINARY (STDOUT_FILENO);
 #endif
          break;
 
@@ -1108,7 +1108,7 @@ compare_files (struct comparison const *parent,
            {
              cmp.file[f].desc = STDIN_FILENO;
              if (O_BINARY && binary && ! isatty (STDIN_FILENO))
-               xfreopen (NULL, "rb", stdin);
+               SET_BINARY (STDIN_FILENO);
              if (fstat (STDIN_FILENO, &cmp.file[f].stat) != 0)
                cmp.file[f].desc = ERRNO_ENCODE (errno);
              else
-- 
1.7.5.1





reply via email to

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