view m4/fseek.m4 @ 12202:a0f033ee41af

fseek: avoid compilation failure when fflush is replaced ./gnulib-tool --import fseek fwritable failed on Debian, due to broken fflush() pulling in rpl_fseeko that mistakenly overwrote fseek() as function-like macro. * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro. * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek module is in use. * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek module is not in use; since REPLACE_FSEEK worked otherwise. (GNULIB_FTELLO): Likewise for ftell. Reported by Ian Beckwith and others. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Tue, 27 Oct 2009 10:42:50 -0600
parents cccbcdfb7afa
children c2cbabec01dd
line wrap: on
line source

# fseek.m4 serial 2
dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.

AC_DEFUN([gl_FUNC_FSEEK],
[
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
  AC_REQUIRE([gl_FUNC_FSEEKO])
  dnl When fseeko needs fixes, fseek needs them too.
  dnl gl_FUNC_FSEEKO takes care of calling gl_REPLACE_FSEEK
])

AC_DEFUN([gl_REPLACE_FSEEK],
[
  AC_LIBOBJ([fseek])
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
  REPLACE_FSEEK=1
])