diff --git a/Source/utils/sdl2_to_1_2_backports.cpp b/Source/utils/sdl2_to_1_2_backports.cpp index 3cc452d41..ca6d66d39 100644 --- a/Source/utils/sdl2_to_1_2_backports.cpp +++ b/Source/utils/sdl2_to_1_2_backports.cpp @@ -512,6 +512,22 @@ char *readSymLink(const char *path) #endif } // namespace +Sint64 SDL_RWsize(SDL_RWops *context) +{ + Sint64 pos = SDL_RWseek(context, 0, RW_SEEK_CUR); + if (pos == -1) + return -1; + + Sint64 size = SDL_RWseek(context, 0, RW_SEEK_END); + if (size == -1) + return -1; + + if (SDL_RWseek(context, pos, RW_SEEK_SET) == -1) + return -1; + + return size; +} + char *SDL_GetBasePath() { // From sdl2-2.0.9/src/filesystem/unix/SDL_sysfilesystem.c diff --git a/Source/utils/sdl2_to_1_2_backports.h b/Source/utils/sdl2_to_1_2_backports.h index 8979e83d7..c5cec1f24 100644 --- a/Source/utils/sdl2_to_1_2_backports.h +++ b/Source/utils/sdl2_to_1_2_backports.h @@ -309,5 +309,7 @@ int SDL_BlitScaled(SDL_Surface *src, SDL_Rect *srcrect, //== Filesystem +Sint64 SDL_RWsize(SDL_RWops *context); + char *SDL_GetBasePath(); char *SDL_GetPrefPath(const char *org, const char *app);