ioapi: fix for libretro

This commit is contained in:
barbudreadmon 2024-10-03 07:12:31 +02:00
parent 4b972e7601
commit da0f5f371d
1 changed files with 9 additions and 0 deletions

View File

@ -14,9 +14,18 @@
#define _CRT_SECURE_NO_WARNINGS
#endif
#if (defined(__APPLE__) || defined(IOAPI_NO_64) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64)) && !defined(__LIBRETRO__)
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
#define FTELLO_FUNC(stream) ftello(stream)
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
#else
// note: In libretro, we want to always use fopen64/ftello64/fseeko64, which are redirecting to fopen/ftell/fseek becausee we force USE_FILE32API,
// themselves redirecting to libretro's "file_stream_transform" abstraction layer. As of 2024-10-03, they don't have implementations for ftello/fseeko yet.
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
#define FTELLO_FUNC(stream) ftello64(stream)
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
#endif
#include "ioapi.h"