Skip to content

Commit 3d382c1

Browse files
committed
Merge pull request godotengine#90404 from aaronp64/zipreader_empty_error
Fix `ZIPReader.get_files()` error on empty zip files
2 parents dd926b9 + 2dad2fb commit 3d382c1

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

modules/zip/zip_reader.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,14 @@ Error ZIPReader::close() {
5858
PackedStringArray ZIPReader::get_files() {
5959
ERR_FAIL_COND_V_MSG(fa.is_null(), PackedStringArray(), "ZIPReader must be opened before use.");
6060

61-
int err = unzGoToFirstFile(uzf);
61+
unz_global_info gi;
62+
int err = unzGetGlobalInfo(uzf, &gi);
63+
ERR_FAIL_COND_V(err != UNZ_OK, PackedStringArray());
64+
if (gi.number_entry == 0) {
65+
return PackedStringArray();
66+
}
67+
68+
err = unzGoToFirstFile(uzf);
6269
ERR_FAIL_COND_V(err != UNZ_OK, PackedStringArray());
6370

6471
List<String> s;

0 commit comments

Comments
 (0)