diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2000-05-03 03:57:19 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2000-05-03 03:57:19 +0000 |
commit | 49d64538cd20abeabd5678b28db05da6fda5e17a (patch) | |
tree | 4414b704fdc406f7dd2a51bd436591ae10888b99 /newlib/libc/stdio/fopen.c | |
parent | a939e045e7c300f401dd96596122d34511be289a (diff) | |
download | newlib-49d64538cd20abeabd5678b28db05da6fda5e17a.zip newlib-49d64538cd20abeabd5678b28db05da6fda5e17a.tar.gz newlib-49d64538cd20abeabd5678b28db05da6fda5e17a.tar.bz2 |
Tue May 02 23:45:48 2000 DJ Delorie <dj@cygnus.com>
* libc/include/stdio.h (FILE): define __SCLE for "convert line
endings" for Cygwin.
(__sgetc): convert line endings if needed
(__sputc): ditto
* libc/stdio/fdopen.c (_fdopen_r): Remember if we opened in text mode
* libc/stdio/fopen.c (_fopen_r): ditto
* libc/stdio/freopen.c (freopen): ditto
* libc/stdio/fread.c (fread): perform CRLF conversions if __SCLE
* libc/stdio/fvwrite.c (__sfvwrite): ditto
Diffstat (limited to 'newlib/libc/stdio/fopen.c')
-rw-r--r-- | newlib/libc/stdio/fopen.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c index 30aa54e..d54f46a 100644 --- a/newlib/libc/stdio/fopen.c +++ b/newlib/libc/stdio/fopen.c @@ -116,6 +116,9 @@ static char sccsid[] = "%W% (Berkeley) %G%"; #include <stdio.h> #include <errno.h> #include "local.h" +#ifdef __CYGWIN__ +#include <fcntl.h> +#endif FILE * _DEFUN (_fopen_r, (ptr, file, mode), @@ -149,6 +152,11 @@ _DEFUN (_fopen_r, (ptr, file, mode), if (fp->_flags & __SAPP) fseek (fp, 0, SEEK_END); +#ifdef __SCLE + if (setmode(fp->_file, O_BINARY) == O_TEXT) + fp->_flags |= __SCLE; +#endif + return fp; } |