From ec2a3cc9d7157303cd919851054d92632ee7ad8e Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Tue, 30 Mar 2021 11:11:53 +0100 Subject: [PATCH] storm_sdl_rw: Use 64-bit file pointers for consistency --- SourceX/storm_sdl_rw.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/SourceX/storm_sdl_rw.cpp b/SourceX/storm_sdl_rw.cpp index bf6660056..a34f9ccd4 100644 --- a/SourceX/storm_sdl_rw.cpp +++ b/SourceX/storm_sdl_rw.cpp @@ -1,5 +1,6 @@ #include "storm_sdl_rw.h" +#include #include #include "all.h" @@ -45,11 +46,17 @@ static int SFileRw_seek(struct SDL_RWops *context, int offset, int whence) default: return -1; } - DWORD result = SFileSetFilePointer(SFileRw_GetHandle(context), offset, NULL, swhence); - if (result == (DWORD)-1) { + int high = static_cast(offset) >> 32; + int low = static_cast(offset); + low = SFileSetFilePointer(SFileRw_GetHandle(context), low, &high, swhence); + if (low == -1) { SDL_Log("SFileRw_seek error: %ud", (unsigned int)SErrGetLastError()); } - return result; +#ifndef USE_SDL1 + return (static_cast(high) << 32) | low; +#else + return low; +#endif } #ifndef USE_SDL1