diff --git a/Source/mpq/mpq_sdl_rwops.cpp b/Source/mpq/mpq_sdl_rwops.cpp index a49a04f8e..142f2f419 100644 --- a/Source/mpq/mpq_sdl_rwops.cpp +++ b/Source/mpq/mpq_sdl_rwops.cpp @@ -56,7 +56,7 @@ static Sint64 MpqFileRwSize(struct SDL_RWops *context) static OffsetType MpqFileRwSeek(struct SDL_RWops *context, OffsetType offset, int whence) { Data &data = *GetData(context); - size_t newPosition; + OffsetType newPosition; switch (whence) { case RW_SEEK_SET: newPosition = static_cast(offset); @@ -71,11 +71,11 @@ static OffsetType MpqFileRwSeek(struct SDL_RWops *context, OffsetType offset, in return -1; } - if (newPosition == data.position) - return static_cast(newPosition); + if (newPosition == static_cast(data.position)) + return newPosition; - if (newPosition > data.size) { - SDL_SetError("MpqFileRwSeek beyond EOF (%d > %u)", static_cast(newPosition), data.size); + if (newPosition > static_cast(data.size)) { + SDL_SetError("MpqFileRwSeek beyond EOF (%d > %u)", static_cast(newPosition), static_cast(data.size)); return -1; } @@ -84,12 +84,12 @@ static OffsetType MpqFileRwSeek(struct SDL_RWops *context, OffsetType offset, in return -1; } - if (data.position / data.blockSize != newPosition / data.blockSize) + if (data.position / data.blockSize != static_cast(newPosition) / data.blockSize) data.blockRead = false; - data.position = newPosition; + data.position = static_cast(newPosition); - return static_cast(newPosition); + return newPosition; } static SizeType MpqFileRwRead(struct SDL_RWops *context, void *ptr, SizeType size, SizeType maxnum)