Skip to content

Commit a9178eb

Browse files
committed
Fix build failure for zip phars
1 parent 55dbbad commit a9178eb

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

ext/phar/zip.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,10 @@ static int phar_zip_changed_apply_int(phar_entry_info *entry, void *arg) /* {{{
958958
PHAR_SET_32(local.crc32, entry->crc32);
959959
continue_dir:
960960
/* set file metadata */
961-
phar_metadata_tracker_try_ensure_has_serialized_data(&entry->metadata_tracker, entry->is_persistent);
961+
if (phar_metadata_tracker_has_data(&entry->metadata_tracker)) {
962+
phar_metadata_tracker_try_ensure_has_serialized_data(&entry->metadata_tracker, entry->is_persistent);
963+
PHAR_SET_16(central.comment_len, entry->metadata_tracker.str ? ZSTR_LEN(entry->metadata_tracker.str) : 0);
964+
}
962965

963966
entry->header_offset = php_stream_tell(p->filefp);
964967
offset = entry->header_offset + sizeof(local) + entry->filename_len + (entry->is_dir ? 1 : 0) + sizeof(perms);
@@ -1436,7 +1439,6 @@ int phar_zip_flush(phar_archive_data *phar, char *user_stub, zend_long len, int
14361439

14371440
phar_metadata_tracker_try_ensure_has_serialized_data(&phar->metadata_tracker, phar->is_persistent);
14381441
if (phar->metadata_tracker.str) {
1439-
// TODO implement
14401442
/* set phar metadata */
14411443
PHAR_SET_16(eocd.comment_len, ZSTR_LEN(phar->metadata_tracker.str));
14421444

0 commit comments

Comments
 (0)