From 85be8c2de8b3e36434fe0504beb95502350180ce Mon Sep 17 00:00:00 2001
From: Andris Pavenis <pavenis@lanet.lv>
Date: Mon, 13 May 2002 23:28:28 +0300
Subject: [PATCH] cppfiles.c (open_file): Change mode (DJGPP only) of
 redirected input to O_BINARY.

	* cppfiles.c (open_file): Change mode (DJGPP only) of redirected
	input to O_BINARY.

From-SVN: r53431
---
 gcc/ChangeLog  |  5 +++++
 gcc/cppfiles.c | 10 +++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bf1fd086f106..17494dcf9b37 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-13  Andris Pavenis  <pavenis@lanet.lv>
+
+	* cppfiles.c (open_file): Change mode (DJGPP only) of redirected
+	input to O_BINARY.
+
 2002-05-13  Jeffrey A Law  (law@redhat.com)
 
 	* i386.c (ia32_multipass_dfa_lookahead): Prototype.
diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c
index 70ac9782f4de..49c740dea4a2 100644
--- a/gcc/cppfiles.c
+++ b/gcc/cppfiles.c
@@ -270,7 +270,15 @@ open_file (pfile, filename)
      Special case: the empty string is translated to stdin.  */
 
   if (filename[0] == '\0')
-    file->fd = 0;
+    {
+      file->fd = 0;
+#ifdef __DJGPP__
+      /* For DJGPP redirected input is opened in text mode. Change it
+         to binary mode.  */
+      if (! isatty (file->fd))
+        setmode (file->fd, O_BINARY);
+#endif
+    }
   else
     file->fd = open (file->name, O_RDONLY | O_NOCTTY | O_BINARY, 0666);
 
-- 
GitLab