summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-01-01 22:27:36 +0000
committerJim Meyering <jim@meyering.net>1999-01-01 22:27:36 +0000
commita498f54f370473db5ad41d7f0b0ecf0d7135fa6a (patch)
tree30c0095edbcfed6122386fef43ca2b591081a7da
parent4394c38352f0b007e45ed63678b0d28b1fa07316 (diff)
downloadcoreutils-a498f54f370473db5ad41d7f0b0ecf0d7135fa6a.tar.xz
(expand): Use binary I/O where appropriate.
-rw-r--r--src/expand.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/expand.c b/src/expand.c
index 7e31e03f6..84f589a93 100644
--- a/src/expand.c
+++ b/src/expand.c
@@ -1,5 +1,5 @@
/* expand - convert tabs to spaces
- Copyright (C) 89, 91, 95, 96, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 89, 91, 1995-1998, 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -252,6 +252,10 @@ expand (void)
fp = next_file ((FILE *) NULL);
if (fp == NULL)
return;
+
+ /* Binary I/O will preserve the original EOL style (DOS/Unix) of files. */
+ SET_BINARY2 (fileno (fp), STDOUT_FILENO);
+
for (;;)
{
c = getc (fp);
@@ -261,7 +265,10 @@ expand (void)
if (fp == NULL)
break; /* No more files. */
else
- continue;
+ {
+ SET_BINARY2 (fileno (fp), STDOUT_FILENO);
+ continue;
+ }
}
if (c == '\n')