summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuomas Virtanen <katajakasa@gmail.com>2018-07-02 21:03:54 +0300
committerTuomas Virtanen <katajakasa@gmail.com>2018-07-02 21:03:54 +0300
commitc9534076646cda63bdc9a94ce02067c4651926e3 (patch)
tree007a7db67ce66809b1c45aed41fbf6465035191d
parentaa303b34f1f3dda6064ce81e04836aa2c751457d (diff)
Code improvements to RWops seek function
-rw-r--r--src/kitsource.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/kitsource.c b/src/kitsource.c
index 71a73b0..588f829 100644
--- a/src/kitsource.c
+++ b/src/kitsource.c
@@ -136,21 +136,17 @@ static int64_t _RWGetSize(SDL_RWops *rw_ops) {
static int64_t _RWSeekCallback(void *userdata, int64_t offset, int whence) {
int rw_whence = 0;
-
if(whence & AVSEEK_SIZE)
return _RWGetSize(userdata);
+
if((whence & ~AVSEEK_FORCE) == SEEK_CUR)
rw_whence = RW_SEEK_CUR;
- if((whence & ~AVSEEK_FORCE) == SEEK_SET)
+ else if((whence & ~AVSEEK_FORCE) == SEEK_SET)
rw_whence = RW_SEEK_SET;
- if((whence & ~AVSEEK_FORCE) == SEEK_END)
+ else if((whence & ~AVSEEK_FORCE) == SEEK_END)
rw_whence = RW_SEEK_END;
- if(SDL_RWseek((SDL_RWops*)userdata, offset, rw_whence) < 0) {
- return -1;
- }
-
- return SDL_RWtell((SDL_RWops*)userdata);
+ return SDL_RWseek((SDL_RWops*)userdata, offset, rw_whence);
}