]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - fs.c
Fix FS_Seek for compressed file from PK3
[xonotic/darkplaces.git] / fs.c
diff --git a/fs.c b/fs.c
index f93ada9d819280774279a0a80e5aab03a8cfee39..99f43e4aeff27c5bc1accf9dbe30e39fd642915d 100644 (file)
--- a/fs.c
+++ b/fs.c
@@ -3249,9 +3249,9 @@ int FS_Seek (qfile_t* file, fs_offset_t offset, int whence)
        buffer = (unsigned char *)Mem_Alloc (tempmempool, buffersize);
 
        // Skip all data until we reach the requested offset
-       while (offset > file->position)
+       while (offset > (file->position - file->buff_len + file->buff_ind))
        {
-               fs_offset_t diff = offset - file->position;
+               fs_offset_t diff = offset - (file->position - file->buff_len + file->buff_ind);
                fs_offset_t count, len;
 
                count = (diff > buffersize) ? buffersize : diff;