summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-05-17 09:49:01 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-05-17 09:49:01 +0000
commit0c1a8ec7bddcb61a4b45cf947cb375e7d350aaa6 (patch)
tree9f215fd51a481c9f1ace714e99e0d0a615920459 /util.c
parent3f4520fee5e3350893877859562bde5dfa18d3a8 (diff)
parentdf1e65fbbe8180b71c539068fbd5de404db3b6ba (diff)
downloadperl-0c1a8ec7bddcb61a4b45cf947cb375e7d350aaa6.tar.gz
integrate cfgperl changes into mainline
p4raw-id: //depot/perl@3433
Diffstat (limited to 'util.c')
-rw-r--r--util.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/util.c b/util.c
index 740fd99351..d9076d8db9 100644
--- a/util.c
+++ b/util.c
@@ -3195,3 +3195,37 @@ get_vtbl(int vtbl_id)
return result;
}
+I32
+my_fflush_all(void)
+{
+#ifdef FFLUSH_NULL
+ return fflush(NULL);
+#else
+ long open_max = -1;
+# if defined(FFLUSH_ALL) && defined(HAS_STDIO_STREAM_ARRAY)
+# if defined(HAS_SYSCONF) && defined(_SC_OPEN_MAX)
+ open_max = sysconf(_SC_OPEN_MAX);
+# else
+# ifdef FOPEN_MAX
+# open_max = FOPEN_MAX;
+# else
+# ifdef OPEN_MAX
+# open_max = OPEN_MAX;
+# else
+# ifdef _NFILE
+# open_max = _NFILE;
+# endif
+# endif
+# endif
+# endif
+ if (open_max > 0) {
+ long i;
+ for (i = 0; i < open_max; i++)
+ fflush(&STDIO_STREAM_ARRAY[i]);
+ return 0;
+ }
+# endif
+ SETERRNO(EBADF,RMS$_IFI);
+ return EOF;
+#endif
+}