Browse Source

rwops: Use SetFilePointerEx on Windows for appending writes.

Fixes #7900.

(cherry picked from commit 769bf2ebcca8f0cbcde4ec50008942f4eda57f4a)
Ryan C. Gordon 2 years ago
parent
commit
9d39e50f29
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/file/SDL_rwops.c

+ 3 - 2
src/file/SDL_rwops.c

@@ -254,8 +254,9 @@ windows_file_write(SDL_RWops *context, const void *ptr, Sint64 size)
 
     /* if in append mode, we must go to the EOF before write */
     if (context->hidden.windowsio.append) {
-        if (SetFilePointer(context->hidden.windowsio.h, 0L, NULL, FILE_END) ==
-            INVALID_SET_FILE_POINTER) {
+        LARGE_INTEGER windowsoffset;
+        windowsoffset.QuadPart = 0;
+        if (!SetFilePointerEx(context->hidden.windowsio.h, windowsoffset, &windowsoffset, FILE_END)) {
             return SDL_Error(SDL_EFWRITE);
         }
     }