X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ffpending.m4;h=145c86a0bc4dcf9bca286cb45cc3d92fcea65981;hb=455b3a9a5e1861152fe403dea25636586d256544;hp=0a7b7de1dc93190a1ec006af28f04f268ed670db;hpb=2209966c10df105267c6cd8f2c5087107098606f;p=gnulib.git diff --git a/m4/fpending.m4 b/m4/fpending.m4 index 0a7b7de1d..145c86a0b 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -1,23 +1,32 @@ -#serial 1 +#serial 3 dnl From Jim Meyering dnl Using code from emacs, based on suggestions from Paul Eggert dnl and Ulrich Drepper. -AC_DEFUN(jm_FUNC_FPENDING, +dnl Find out how to determine the number of pending output bytes on a stream. +dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems, +dnl we have to grub around in the FILE struct. + +AC_DEFUN([jm_FUNC_FPENDING], [ AC_CHECK_HEADERS(stdio_ext.h) AC_REPLACE_FUNCS([__fpending]) + fp_headers=' +# if HAVE_STDIO_EXT_H +# include +# endif +' + AC_CHECK_DECLS([__fpending], , , $fp_headers) if test $ac_cv_func___fpending = no; then AC_CACHE_CHECK( [how to determine the number of pending output bytes on a stream], ac_cv_sys_pending_output_n_bytes, [ - fp_save_DEFS=$DEFS for ac_expr in \ \ '# glibc2' \ - 'fp->_IO_write_ptr - fp->_IO_write_x_base' \ + 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ @@ -44,14 +53,12 @@ AC_DEFUN(jm_FUNC_FPENDING, # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac - DEFS="$DEFS -DPENDING_OUTPUT_N_BYTES=$ac_expr" AC_TRY_COMPILE( [#include ], [FILE *fp = stdin; (void) ($ac_expr);], fp_done=yes ) - DEFS=$fp_save_DEFS test "$fp_done" = yes && break done