rwops: Use SetFilePointerEx on Windows for appending writes.

Fixes #7900.

(cherry picked from commit 769bf2ebcca8f0cbcde4ec50008942f4eda57f4a)
main
Ryan C. Gordon 2023-07-01 00:30:23 -04:00
parent 5b9fdc9dd1
commit 9d39e50f29
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 3 additions and 2 deletions

View File

@ -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);
}
}