diff --git a/configure b/configure index 8b0ec8f5e8..c3db8a4a22 100755 --- a/configure +++ b/configure @@ -3439,8 +3439,10 @@ _fseeko=no cc_check && _fseeko=yes if test "$_fseeko" = yes ; then _def_fseeko='#define HAVE_FSEEKO 1' + _need_fseeko=no else _def_fseeko='#undef HAVE_FSEEKO' + _need_fseeko=yes fi echores "$_fseeko" @@ -7234,8 +7236,10 @@ _ftello=no cc_check && _ftello=yes if test "$_ftello" = yes ; then _def_ftello='#define HAVE_FTELLO 1' + _need_ftello=no else _def_ftello='#undef HAVE_FTELLO' + _need_ftello=yes fi echores "$_ftello" @@ -7479,6 +7483,8 @@ HAVE_XVMC_ACCEL = $_xvmc HAVE_SYS_MMAN_H = _mman +NEED_FSEEKO = $_need_fseeko +NEED_FTELLO = $_need_ftello NEED_GLOB = $_need_glob NEED_SCANDIR = $_need_scandir NEED_SETENV = $_need_setenv diff --git a/osdep/Makefile b/osdep/Makefile index 9865581623..d1fee0ef78 100644 --- a/osdep/Makefile +++ b/osdep/Makefile @@ -4,7 +4,6 @@ include ../config.mak LIBNAME = libosdep.a SRCS= strl.c \ - fseeko.c \ SRCS-$(HAVE_SYS_MMAN_H) += mmap_anon.c SRCS-$(MACOSX_FINDER_SUPPORT) += macosx_finder_args.c @@ -12,6 +11,8 @@ ifneq ($(TARGET_OS),MINGW32) SRCS-$(STREAM_CACHE) += shmem.c endif +SRCS-$(NEED_FSEEKO) += fseeko.c +SRCS-$(NEED_FTELLO) += ftello.c SRCS-$(NEED_GETTIMEOFDAY) += gettimeofday.c SRCS-$(NEED_SCANDIR) += scandir.c SRCS-$(NEED_SETENV) += setenv.c diff --git a/osdep/fseeko.c b/osdep/fseeko.c index decbaf5c8f..7d942a1c25 100644 --- a/osdep/fseeko.c +++ b/osdep/fseeko.c @@ -4,13 +4,11 @@ */ #include "config.h" - -#if !defined(HAVE_FSEEKO) || !defined(HAVE_FTELLO) + #include #include #include #include -#endif #ifdef WIN32 #define flockfile @@ -25,7 +23,6 @@ * This is thread-safe on BSD/OS using flockfile/funlockfile. */ -#ifndef HAVE_FSEEKO int fseeko(FILE *stream, off_t offset, int whence) { @@ -68,17 +65,3 @@ failure: funlockfile(stream); return -1; } -#endif - - -#ifndef HAVE_FTELLO -off_t -ftello(FILE *stream) -{ - fpos_t floc; - - if (fgetpos(stream, &floc) != 0) - return -1; - return floc; -} -#endif diff --git a/osdep/ftello.c b/osdep/ftello.c new file mode 100644 index 0000000000..d11710b89f --- /dev/null +++ b/osdep/ftello.c @@ -0,0 +1,19 @@ +/* + * ftello.c + * 64-bit version of ftello() for systems which do not have it + */ + +#include "config.h" + +#include +#include + +off_t +ftello(FILE *stream) +{ + fpos_t floc; + + if (fgetpos(stream, &floc) != 0) + return -1; + return floc; +}