(unexpand): Use binary I/O where appropriate.
authorJim Meyering <jim@meyering.net>
Fri, 1 Jan 1999 22:41:58 +0000 (22:41 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 1 Jan 1999 22:41:58 +0000 (22:41 +0000)
src/unexpand.c

index ebb875c..5c47024 100644 (file)
@@ -1,5 +1,5 @@
 /* unexpand - convert spaces to tabs
-   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
@@ -229,6 +229,9 @@ unexpand (void)
   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);
@@ -315,7 +318,10 @@ unexpand (void)
              if (fp == NULL)
                break;          /* No more files. */
              else
-               continue;
+               {
+                 SET_BINARY2 (fileno (fp), STDOUT_FILENO);
+                 continue;
+               }
            }
 
          if (convert)