[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-diffutils] [PATCH] use binary-io gnulib module instead of xfreopen
From: |
Claudio Bley |
Subject: |
[bug-diffutils] [PATCH] use binary-io gnulib module instead of xfreopen |
Date: |
Mon, 05 Sep 2011 11:03:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hi.
(I already posted a message yesterday, but apparently it didn't come
through. Sorry, if this is a duplicate.)
Using NULL as filename in xfreopen is non-portable. It doesn't work on
MinGW, it crashes using MSVC.
Here is a patch using the binary-io gnulib module instead, as suggested
by Bruno Haible on the gnulib bugs ML.
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
- [bug-diffutils] [PATCH] use binary-io gnulib module instead of xfreopen,
Claudio Bley <=