Avoid warning at configure time with "gcc -Wall".
[gnulib.git] / m4 / fpending.m4
index c72b7cc..e5917c5 100644 (file)
@@ -1,4 +1,9 @@
-#serial 2
+#serial 9
+
+# Copyright (C) 2000, 2001, 2004, 2005, 2006 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])
   fp_headers='
+#     include <stdio.h>
 #     if HAVE_STDIO_EXT_H
 #      include <stdio_ext.h>
 #     endif
@@ -23,7 +29,6 @@ AC_DEFUN([jm_FUNC_FPENDING],
              [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'                                          \
@@ -36,7 +41,7 @@ AC_DEFUN([jm_FUNC_FPENDING],
            'fp->_p - fp->_bf._base'                            \
                                                                \
            '# SCO, Unixware'                                   \
-           'fp->__ptr - fp->__base'                            \
+           '(fp->__ptr ? fp->__ptr - fp->__base : 0)'          \
                                                                \
            '# old glibc?'                                      \
            'fp->__bufp - fp->__buffer'                         \
@@ -54,14 +59,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 <stdio.h>
            ],
            [FILE *fp = stdin; (void) ($ac_expr);],
            fp_done=yes
          )
-         DEFS=$fp_save_DEFS
          test "$fp_done" = yes && break
        done