summaryrefslogtreecommitdiffstats
path: root/contrib/libstdc++/src/ios.cc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libstdc++/src/ios.cc')
-rw-r--r--contrib/libstdc++/src/ios.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/libstdc++/src/ios.cc b/contrib/libstdc++/src/ios.cc
index 7bfdc5b..9f4c718 100644
--- a/contrib/libstdc++/src/ios.cc
+++ b/contrib/libstdc++/src/ios.cc
@@ -38,6 +38,9 @@
#include <fstream>
#include <bits/atomicity.h>
#include <ext/stdio_filebuf.h>
+#ifdef _GLIBCPP_HAVE_UNISTD_H
+#include <unistd.h>
+#endif
namespace __gnu_cxx
{
@@ -157,7 +160,11 @@ namespace std
ios_base::Init::_S_ios_create(bool __sync)
{
int __out_size = __sync ? 0 : static_cast<int>(BUFSIZ);
- int __in_size = __sync ? 1 : static_cast<int>(BUFSIZ);
+#ifdef _GLIBCPP_HAVE_ISATTY
+ int __in_size = (__sync || isatty (0)) ? 1 : static_cast<int>(BUFSIZ);
+#else
+ int __in_size = 1;
+#endif
// NB: The file globals.cc creates the four standard files
// with NULL buffers. At this point, we swap out the dummy NULL
OpenPOWER on IntegriCloud