From 5d8a5fb8665fae4b4162df2b9cfda04751364a36 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Fri, 20 Jul 2018 15:20:40 -0700 Subject: If we have fseek/ftell variants with 64-bit offsets, use them. Or, at least, use them in the libwiretap file-writing code; we can change other places to use them as appropriate. Change-Id: I63af2267a22a158ee23f3359b043913dac0e285b Reviewed-on: https://code.wireshark.org/review/28783 Petri-Dish: Guy Harris Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris --- wsutil/file_util.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'wsutil/file_util.h') diff --git a/wsutil/file_util.h b/wsutil/file_util.h index 0f88eab746..435bacd0f3 100644 --- a/wsutil/file_util.h +++ b/wsutil/file_util.h @@ -11,6 +11,8 @@ #ifndef __FILE_UTIL_H__ #define __FILE_UTIL_H__ +#include "config.h" + #include "ws_symbol_export.h" #ifdef __cplusplus @@ -104,7 +106,9 @@ WS_DLL_PUBLIC FILE * ws_stdio_freopen (const gchar *filename, const gchar *mode, #define ws_write _write #define ws_close _close #define ws_dup _dup +#define ws_fseek64 _fseeki64 /* use _fseeki64 for 64-bit offset support */ #define ws_fstat64 _fstati64 /* use _fstati64 for 64-bit size support */ +#define ws_ftell64 _ftelli64 /* use _ftelli64 for 64-bit offset support */ #define ws_lseek64 _lseeki64 /* use _lseeki64 for 64-bit offset support */ #define ws_fdopen _fdopen #define ws_fileno _fileno @@ -186,6 +190,13 @@ WS_DLL_PUBLIC void close_app_running_mutex(); #define ws_close close #endif #define ws_dup dup +#ifdef HAVE_FSEEKO +#define ws_fseek64 fseeko /* AC_SYS_LARGEFILE should make off_t 64-bit */ +#define ws_ftell64 ftello /* AC_SYS_LARGEFILE should make off_t 64-bit */ +#else +#define ws_fseek64(fh,offset,whence) fseek(fh,(long)(offset),whence) +#define ws_ftell64 ftell +#endif #define ws_fstat64 fstat /* AC_SYS_LARGEFILE should make off_t 64-bit */ #define ws_lseek64 lseek /* AC_SYS_LARGEFILE should make off_t 64-bit */ #define ws_fdopen fdopen -- cgit v1.2.3