summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdio/freopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdio/freopen.c')
-rw-r--r--newlib/libc/stdio/freopen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/newlib/libc/stdio/freopen.c b/newlib/libc/stdio/freopen.c
index a4ab965e9..a23b08ad5 100644
--- a/newlib/libc/stdio/freopen.c
+++ b/newlib/libc/stdio/freopen.c
@@ -147,5 +147,11 @@ _DEFUN (freopen, (file, mode, fp),
fp->_write = __swrite;
fp->_seek = __sseek;
fp->_close = __sclose;
+
+#ifdef __SCLE
+ if (setmode(fp->_file, O_BINARY) == O_TEXT)
+ fp->_flags |= __SCLE;
+#endif
+
return fp;
}