diff --git a/src/parsley.cpp b/src/parsley.cpp index e9d49bd..584d7ac 100644 --- a/src/parsley.cpp +++ b/src/parsley.cpp @@ -5725,7 +5725,8 @@ void APar_MergeTempFile(FILE *dest_file, fpos_t file_offset = {0}; file_offset.__pos = dest_position + file_pos; #else - off_t file_offset = dest_position + file_pos; + fpos_t file_offset = {0}; + *(uint64_t*) &file_offset = dest_position + file_pos; #endif fsetpos(dest_file, &file_offset); fwrite(buffer, max_buffer, 1, dest_file); @@ -5740,7 +5741,8 @@ void APar_MergeTempFile(FILE *dest_file, fpos_t file_offset = {0}; file_offset.__pos = dest_position + file_pos; #else - off_t file_offset = dest_position + file_pos; + fpos_t file_offset = {0}; + *(uint64_t*) &file_offset = dest_position + file_pos; #endif fsetpos(dest_file, &file_offset); fwrite(buffer, src_file_size - file_pos, 1, dest_file);