Eric Blake wrote on 2007-04-17: > I discovered that mingw lacks ftello, so we also need a module for > ftell/ftello
2007-04-25 Bruno Haible <[EMAIL PROTECTED]> * modules/ftello: New file. * m4/ftello.m4: New file. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO, HAVE_FTELLO. * lib/stdio_.h (ftello): New declaration. * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO, HAVE_FTELLO. =========================== modules/ftello ================================= Description: ftello() function: Retrieve the position of a FILE stream. Files: m4/ftello.m4 Depends-on: stdio configure.ac: gl_FUNC_FTELLO gl_STDIO_MODULE_INDICATOR([ftello]) Makefile.am: Include: <stdio.h> License: LGPL Maintainer: Bruno Haible =========================== m4/ftello.m4 =================================== # ftello.m4 serial 1 dnl Copyright (C) 2007 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_FTELLO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello], [ AC_TRY_LINK([#include <stdio.h>], [ftello (stdin);], [gl_cv_func_ftello=yes], [gl_cv_func_ftello=no]) ]) if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 fi ]) ============================================================================ *** lib/stdio_.h 25 Apr 2007 07:39:55 -0000 1.18 --- lib/stdio_.h 25 Apr 2007 07:49:40 -0000 *************** *** 220,225 **** --- 220,238 ---- fseeko (f, o, w)) #endif + #if @GNULIB_FTELLO@ + # if [EMAIL PROTECTED]@ + /* Assume 'off_t' is the same type as 'long'. */ + # define ftello ftell + # endif + #else + # undef ftello + # define ftello(f) \ + (GL_LINK_WARNING ("ftello is unportable - " \ + "use gnulib module ftello for portability"), \ + ftello (f)) + #endif + #if @GNULIB_FFLUSH@ # if @REPLACE_FFLUSH@ # define fflush rpl_fflush *** modules/stdio 25 Apr 2007 07:39:55 -0000 1.12 --- modules/stdio 25 Apr 2007 07:49:40 -0000 *************** *** 31,36 **** --- 31,37 ---- -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ + -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ *************** *** 45,50 **** --- 46,52 ---- -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ + -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/stdio_.h; \ *** m4/stdio_h.m4 25 Apr 2007 07:39:55 -0000 1.12 --- m4/stdio_h.m4 25 Apr 2007 07:49:40 -0000 *************** *** 31,36 **** --- 31,37 ---- GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) + GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) *************** *** 46,50 **** --- 47,52 ---- HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) + HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) ])