From 0cda2f506d3daa0259dda075633d86429ab6a862 Mon Sep 17 00:00:00 2001 From: zhaozg Date: Wed, 1 May 2019 18:37:34 +0800 Subject: [PATCH] add feature auto detect m_file_archive_start_ofs of zip --- miniz_zip.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/miniz_zip.c b/miniz_zip.c index 3ed6a67..7daea50 100644 --- a/miniz_zip.c +++ b/miniz_zip.c @@ -736,6 +736,10 @@ static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, mz_uint flag cdir_ofs = MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_OFS_OFS); } + /* Calculate the offset and compare to written offset to get size of data offset at front. */ + if (pZip->m_pState->m_file_archive_start_ofs == 0) + pZip->m_pState->m_file_archive_start_ofs = cur_file_ofs - cdir_size - cdir_ofs; + if (pZip->m_total_files != cdir_entries_on_this_disk) return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);