New module 'mbsrchr'.
[gnulib.git] / lib / __fpending.c
index 5b6e3e3..221aee6 100644 (file)
@@ -1,43 +1,30 @@
-size_t
-__fpending (FILE *fp)
-{
-#if STREAM_FPENDING_GLIBC2
-  return fp->_IO_write_ptr - fp->_IO_write_base;
-#endif
-
-#if STREAM_FPENDING__PTR
-  /* Traditional Unix */
-  return fp->_ptr - fp->_base;
-#endif
+/* __fpending.c -- return the number of pending output bytes on a stream
+   Copyright (C) 2000, 2004, 2006 Free Software Foundation, Inc.
 
-#if STREAM_FPENDING__P
-  /* BSD */
-  return fp->_p - fp->_bf._base;
-#endif
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
 
-#if STREAM_FPENDING__P
-  /* SCO, Unixware */
-  return fp->__ptr - fp->__base;
-#endif
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-#if STREAM_FPENDING__BUFP
-  /* old glibc? */
-  return fp->__bufp - fp->__buffer;
-#endif
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#if STREAM_FPENDING__PPTR
-  /* old glibc iostream? */
-  return fp->_pptr - fp->_pbase;
-#endif
+/* Written by Jim Meyering. */
 
-#if STREAM_FPENDING__PTR_DEREF
-  /* VMS */
-  return (*fp)->_ptr - (*fp)->_base;
-#endif
+#include <config.h>
 
-#if STREAM_FPENDING_NOT_AVAILABLE
-  /* e.g., DGUX R4.11 */
-  return 1; /* i.e. the info is not available */
-#endif
+#include "__fpending.h"
 
+/* Return the number of pending (aka buffered, unflushed)
+   bytes on the stream, FP, that is open for writing.  */
+size_t
+__fpending (FILE *fp)
+{
+  return PENDING_OUTPUT_N_BYTES;
 }