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/fvwrite.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/fvwrite.c')
-rw-r--r-- | newlib/libc/stdio/fvwrite.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/newlib/libc/stdio/fvwrite.c b/newlib/libc/stdio/fvwrite.c index 00e758a..8e7d316 100644 --- a/newlib/libc/stdio/fvwrite.c +++ b/newlib/libc/stdio/fvwrite.c @@ -62,6 +62,27 @@ __sfvwrite (fp, uio) iov = uio->uio_iov; len = 0; + +#ifdef __SCLE + if (fp->_flags & __SCLE) /* text mode */ + { + do + { + GETIOV (;); + while (len > 0) + { + if (putc(*p, fp) == EOF) + return EOF; + p++; + len--; + uio->uio_resid--; + } + } + while (uio->uio_resid > 0); + return 0; + } +#endif + if (fp->_flags & __SNBF) { /* |