From: nasm-bot f. H. P. A. <hp...@zy...> - 2016-02-22 05:24:17
|
Commit-ID: ec82d7a92b6b36ee82a051ac437d5206971e179b Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=ec82d7a92b6b36ee82a051ac437d5206971e179b Author: H. Peter Anvin <hp...@zy...> AuthorDate: Sun, 21 Feb 2016 21:20:45 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Sun, 21 Feb 2016 21:20:45 -0800 configure: smarter way to handle fseeko() searching Better handling of the replacement for fseeko() in its absence; also look for the Windows _fseeki64() function. Signed-off-by: H. Peter Anvin <hp...@zy...> --- compiler.h | 14 ++++++++++++++ configure.in | 2 +- nasmlib.c | 5 ----- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/compiler.h b/compiler.h index 4b29d36..310e79b 100644 --- a/compiler.h +++ b/compiler.h @@ -99,6 +99,20 @@ int vsnprintf(char *, size_t, const char *, va_list); # endif #endif +/* Missing fseeko/ftello */ +#ifndef HAVE_FSEEKO +# undef off_t /* Just in case it is a macro */ +# ifdef HAVE__FSEEKI64 +# define fseeko _fseeki64 +# define ftello _ftelli64 +# define off_t int64_t +# else +# define fseeko fseek +# define ftello ftell +# define off_t long +# endif +#endif + #if !defined(HAVE_STRLCPY) || !HAVE_DECL_STRLCPY size_t strlcpy(char *, const char *, size_t); #endif diff --git a/configure.in b/configure.in index 38306c2..e05811a 100644 --- a/configure.in +++ b/configure.in @@ -139,8 +139,8 @@ AC_CHECK_FUNCS(canonicalize_file_name) AC_CHECK_FUNCS(_fullpath) AC_CHECK_FUNCS(pathconf) -AC_TYPE_OFF_T AC_FUNC_FSEEKO +AC_CHECK_FUNCS([_fseeki64]) AC_CHECK_FUNCS([ftruncate _chsize _chsize_s]) AC_CHECK_FUNCS([fileno]) diff --git a/nasmlib.c b/nasmlib.c index eb0217d..41da9f0 100644 --- a/nasmlib.c +++ b/nasmlib.c @@ -459,11 +459,6 @@ void fwriteaddr(uint64_t data, int size, FILE * fp) #endif -#ifndef HAVE_FSEEKO -# define fseeko fseek -# define ftello ftell -#endif - #ifdef HAVE_FILENO /* Useless without fileno() */ # ifdef HAVE__CHSIZE_S # define nasm_ftruncate(fd,size) _chsize_s(fd,size) |