*** empty log message ***
authorJim Meyering <jim@meyering.net>
Fri, 25 Aug 2000 07:39:22 +0000 (07:39 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 25 Aug 2000 07:39:22 +0000 (07:39 +0000)
lib/__fpending.c [new file with mode: 0644]

diff --git a/lib/__fpending.c b/lib/__fpending.c
new file mode 100644 (file)
index 0000000..11f4981
--- /dev/null
@@ -0,0 +1,43 @@
+size_t
+__fpending (FILE *fp)
+{
+#if FPENDING_GLIBC2
+  return fp->_IO_write_ptr - fp->_IO_write_base;
+#endif
+
+#if FPENDING__PTR
+  /* Traditional Unix */
+  return fp->_ptr - fp->_base;
+#endif
+
+#if FPENDING__P
+  /* BSD */
+  return fp->_p - fp->_bf._base;
+#endif
+
+#if FPENDING__P
+  /* SCO, Unixware */
+  return fp->__ptr - fp->__base;
+#endif
+
+#if FPENDING__BUFP
+  /* old glibc? */
+  return fp->__bufp - fp->__buffer;
+#endif
+
+#if FPENDING__PPTR
+  /* old glibc iostream? */
+  return fp->_pptr - fp->_pbase;
+#endif
+
+#if FPENDING__PTR_DEREF
+  /* VMS */
+  return (*fp)->_ptr - (*fp)->_base;
+#endif
+
+#if FPENDING_NOT_AVAILABLE
+  /* e.g., DGUX R4.11 */
+  return 1; /* i.e. the info is not available */
+#endif
+
+}