Skip to content

Commit a8ecd01

Browse files
committed
Merge pull request #106869 from bruvzg/unzip_64pos
Fix `unzSeekCurrentFile` not resetting `total_out_64`.
2 parents c18c5c0 + f0dcccf commit a8ecd01

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

thirdparty/minizip/patches/0001-godot-seek.patch

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ index ea05b7d62a..7e8a6ac2d3 100644
127127

128128
s->pfile_in_zip_read = pfile_in_zip_read_info;
129129
s->encrypted = 0;
130-
@@ -1510,6 +1530,82 @@ extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int* method,
130+
@@ -1510,6 +1530,84 @@ extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int* method,
131131
return UNZ_OK;
132132
}
133133

@@ -159,6 +159,7 @@ index ea05b7d62a..7e8a6ac2d3 100644
159159
+
160160
+ pfile_in_zip_read_info->stream.avail_in = (uInt)0;
161161
+ pfile_in_zip_read_info->stream.total_out = pos;
162+
+ pfile_in_zip_read_info->total_out_64 = pos;
162163
+
163164
+ return ZSEEK64(pfile_in_zip_read_info->z_filefunc,
164165
+ pfile_in_zip_read_info->filestream,
@@ -182,6 +183,7 @@ index ea05b7d62a..7e8a6ac2d3 100644
182183
+
183184
+ pfile_in_zip_read_info->stream.avail_in = (uInt)0;
184185
+ pfile_in_zip_read_info->stream.total_out = 0;
186+
+ pfile_in_zip_read_info->total_out_64 = 0;
185187
+ pfile_in_zip_read_info->stream.next_in = 0;
186188
+ }
187189
+

thirdparty/minizip/unzip.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,6 +1558,7 @@ extern int ZEXPORT unzSeekCurrentFile(unzFile file, int pos) {
15581558

15591559
pfile_in_zip_read_info->stream.avail_in = (uInt)0;
15601560
pfile_in_zip_read_info->stream.total_out = pos;
1561+
pfile_in_zip_read_info->total_out_64 = pos;
15611562

15621563
return ZSEEK64(pfile_in_zip_read_info->z_filefunc,
15631564
pfile_in_zip_read_info->filestream,
@@ -1581,6 +1582,7 @@ extern int ZEXPORT unzSeekCurrentFile(unzFile file, int pos) {
15811582

15821583
pfile_in_zip_read_info->stream.avail_in = (uInt)0;
15831584
pfile_in_zip_read_info->stream.total_out = 0;
1585+
pfile_in_zip_read_info->total_out_64 = 0;
15841586
pfile_in_zip_read_info->stream.next_in = 0;
15851587
}
15861588

0 commit comments

Comments
 (0)