diff --git a/src/disk/minivhd/cwalk.c b/src/disk/minivhd/cwalk.c index 265de0f72..f0c48427c 100644 --- a/src/disk/minivhd/cwalk.c +++ b/src/disk/minivhd/cwalk.c @@ -1,3 +1,6 @@ +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include diff --git a/src/disk/minivhd/minivhd_convert.c b/src/disk/minivhd/minivhd_convert.c index 231e0f9b8..1de6f4613 100644 --- a/src/disk/minivhd/minivhd_convert.c +++ b/src/disk/minivhd/minivhd_convert.c @@ -1,3 +1,6 @@ +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include diff --git a/src/disk/minivhd/minivhd_create.c b/src/disk/minivhd/minivhd_create.c index 9e34ece9d..c47c7d82d 100644 --- a/src/disk/minivhd/minivhd_create.c +++ b/src/disk/minivhd/minivhd_create.c @@ -1,3 +1,6 @@ +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include diff --git a/src/disk/minivhd/minivhd_io.c b/src/disk/minivhd/minivhd_io.c index 8e9172e63..ddd17177e 100644 --- a/src/disk/minivhd/minivhd_io.c +++ b/src/disk/minivhd/minivhd_io.c @@ -3,6 +3,9 @@ * \brief Sector reading and writing implementations */ +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include "minivhd_internal.h" diff --git a/src/disk/minivhd/minivhd_manage.c b/src/disk/minivhd/minivhd_manage.c index 75e095332..e9473c0e3 100644 --- a/src/disk/minivhd/minivhd_manage.c +++ b/src/disk/minivhd/minivhd_manage.c @@ -2,7 +2,9 @@ * \file * \brief VHD management functions (open, close, read write etc) */ - +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include diff --git a/src/disk/minivhd/minivhd_struct_rw.c b/src/disk/minivhd/minivhd_struct_rw.c index 66f2289af..c77fa600a 100644 --- a/src/disk/minivhd/minivhd_struct_rw.c +++ b/src/disk/minivhd/minivhd_struct_rw.c @@ -2,7 +2,9 @@ * \file * \brief Header and footer serialize/deserialize functions */ - +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include diff --git a/src/disk/minivhd/minivhd_struct_rw.h b/src/disk/minivhd/minivhd_struct_rw.h index 0b1e0181f..ee49bb696 100644 --- a/src/disk/minivhd/minivhd_struct_rw.h +++ b/src/disk/minivhd/minivhd_struct_rw.h @@ -1,5 +1,5 @@ #ifndef MINIVHD_STRUCT_RW_H -#define minivhd_struct_rw +#define MINIVHD_STRUCT_RW_H #include "minivhd_internal.h" diff --git a/src/disk/minivhd/minivhd_util.c b/src/disk/minivhd/minivhd_util.c index d8f44cad0..5bfc59915 100644 --- a/src/disk/minivhd/minivhd_util.c +++ b/src/disk/minivhd/minivhd_util.c @@ -2,7 +2,9 @@ * \file * \brief Utility functions */ - +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif #include #include #include @@ -152,7 +154,7 @@ FILE* mvhd_fopen(const char* path, const char* mode, int* err) { } } #else - f = fopen64(path, mode); + f = fopen(path, mode); if (f == NULL) { mvhd_errno = errno; *err = MVHD_ERR_FILE; @@ -253,8 +255,10 @@ int64_t mvhd_ftello64(FILE* stream) { #ifdef _MSC_VER return _ftelli64(stream); -#else +#elif defined(__MINGW32__) return ftello64(stream); +#else /* This should work with linux (with _FILE_OFFSET_BITS), and hopefully OS X and BSD */ + return ftello(stream); #endif } @@ -262,8 +266,10 @@ int mvhd_fseeko64(FILE* stream, int64_t offset, int origin) { #ifdef _MSC_VER return _fseeki64(stream, offset, origin); -#else +#elif defined(__MINGW32__) return fseeko64(stream, offset, origin); +#else /* This should work with linux (with _FILE_OFFSET_BITS), and hopefully OS X and BSD */ + return fseeko(stream, offset, origin); #endif }