| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-workers-bounces using -f |
| From: | pavenis AT lanet DOT lv |
| To: | Andris Pavenis <pavenis AT latnet DOT lv>, djgpp-workers AT delorie DOT com, |
| zack AT codesourcery DOT com | |
| Date: | Thu, 9 May 2002 13:14:53 +0300 |
| MIME-Version: | 1.0 |
| Subject: | Re: RFA: Ignore DOS end-of-line characters (ctrl-Z) unless -W |
| Cc: | Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>, |
| Nick Clifton <nickc AT cambridge DOT redhat DOT com>, djgpp-workers AT delorie DOT com, | |
| gcc-patches AT gcc DOT gnu DOT org | |
| Message-ID: | <3CDA764D.1410.A1F3EA@localhost> |
| In-reply-to: | <20020508162338.GF20829@codesourcery.com> |
| References: | <200205081853 DOT 11194 DOT pavenis AT latnet DOT lv> |
| X-mailer: | Pegasus Mail for Windows (v4.01) |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
On 8 May 2002 at 9:23, Zack Weinberg wrote:
> This should be done in open_file():
>
> /* ...
>
> O_BINARY tells some runtime libraries (notably DJGPP) not to do
> newline translation; we can handle DOS line breaks just fine
> ourselves.
>
> Special case: the empty string is translated to stdin. */
>
> if (filename[0] == '\0')
> file->fd = 0;
> else
> file->fd = open (file->name, O_RDONLY | O_NOCTTY | O_BINARY, 0666);
>
> A tested patch that does that and nothing else is preapproved.
OK. Here it is (tested for DJGPP with 3.1 branch)
--- cppfiles.c~1 Thu May 9 10:32:46 2002
+++ cppfiles.c Thu May 9 12:57:10 2002
@@ -270,7 +270,13 @@
Special case: the empty string is translated to stdin. */
if (filename[0] == '\0')
- file->fd = 0;
+ {
+ file->fd = 0;
+#ifdef __DJGPP__
+ if (!isatty(file->fd))
+ setmode (file->fd, O_BINARY);
+#endif
+ }
else
file->fd = open (file->name, O_RDONLY | O_NOCTTY | O_BINARY, 0666);
Andris
PS. I'm also keeping my other patch for handling ^Z for DJGPP in cppfiles.c
before it's handled in other place.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |