X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ffpending.m4;h=7860d7074172b2ce44ef3f6a150217513ab99f35;hb=05a96e0bca75d5b01c337cd7dacd04507d6e6497;hp=145c86a0bc4dcf9bca286cb45cc3d92fcea65981;hpb=5f4303299811898e9b5f418758d1656dddc4db1d;p=gnulib.git diff --git a/m4/fpending.m4 b/m4/fpending.m4 index 145c86a0b..7860d7074 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -1,4 +1,9 @@ -#serial 3 +# serial 14 + +# Copyright (C) 2000-2001, 2004-2009 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Using code from emacs, based on suggestions from Paul Eggert @@ -8,11 +13,12 @@ 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_DEFUN([gl_FUNC_FPENDING], [ - AC_CHECK_HEADERS(stdio_ext.h) - AC_REPLACE_FUNCS([__fpending]) + AC_CHECK_HEADERS_ONCE([stdio_ext.h]) + AC_CHECK_FUNCS_ONCE([__fpending]) fp_headers=' +# include # if HAVE_STDIO_EXT_H # include # endif @@ -23,31 +29,37 @@ AC_DEFUN([jm_FUNC_FPENDING], [how to determine the number of pending output bytes on a stream], ac_cv_sys_pending_output_n_bytes, [ - for ac_expr in \ - \ - '# glibc2' \ - 'fp->_IO_write_ptr - fp->_IO_write_base' \ - \ - '# traditional Unix' \ - 'fp->_ptr - fp->_base' \ - \ - '# BSD' \ - 'fp->_p - fp->_bf._base' \ - \ - '# SCO, Unixware' \ - 'fp->__ptr - fp->__base' \ - \ - '# old glibc?' \ - 'fp->__bufp - fp->__buffer' \ - \ - '# old glibc iostream?' \ - 'fp->_pptr - fp->_pbase' \ - \ - '# VMS' \ - '(*fp)->_ptr - (*fp)->_base' \ - \ - '# e.g., DGUX R4.11; the info is not available' \ - 1 \ + for ac_expr in \ + \ + '# glibc2' \ + 'fp->_IO_write_ptr - fp->_IO_write_base' \ + \ + '# traditional Unix' \ + 'fp->_ptr - fp->_base' \ + \ + '# BSD' \ + 'fp->_p - fp->_bf._base' \ + \ + '# SCO, Unixware' \ + '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ + \ + '# QNX' \ + '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ + \ + '# old glibc?' \ + 'fp->__bufp - fp->__buffer' \ + \ + '# old glibc iostream?' \ + 'fp->_pptr - fp->_pbase' \ + \ + '# emx+gcc' \ + 'fp->_ptr - fp->_buffer' \ + \ + '# VMS' \ + '(*fp)->_ptr - (*fp)->_base' \ + \ + '# e.g., DGUX R4.11; the info is not available' \ + 1 \ ; do # Skip each embedded comment. @@ -65,8 +77,9 @@ AC_DEFUN([jm_FUNC_FPENDING], ac_cv_sys_pending_output_n_bytes=$ac_expr ] ) - AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES, + AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES], $ac_cv_sys_pending_output_n_bytes, [the number of pending output bytes on stream `fp']) + AC_LIBOBJ([fpending]) fi ])