pZip             3380 src/punutil/miniz.c     static MZ_FORCEINLINE void mz_zip_array_clear(mz_zip_archive *pZip, mz_zip_array *pArray)
pZip             3382 src/punutil/miniz.c         pZip->m_pFree(pZip->m_pAlloc_opaque, pArray->m_p);
pZip             3386 src/punutil/miniz.c     static mz_bool mz_zip_array_ensure_capacity(mz_zip_archive *pZip, mz_zip_array *pArray, size_t min_new_capacity, mz_uint growing)
pZip             3399 src/punutil/miniz.c         if (NULL == (pNew_p = pZip->m_pRealloc(pZip->m_pAlloc_opaque, pArray->m_p, pArray->m_element_size, new_capacity)))
pZip             3406 src/punutil/miniz.c     static MZ_FORCEINLINE mz_bool mz_zip_array_reserve(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_capacity, mz_uint growing)
pZip             3410 src/punutil/miniz.c             if (!mz_zip_array_ensure_capacity(pZip, pArray, new_capacity, growing))
pZip             3416 src/punutil/miniz.c     static MZ_FORCEINLINE mz_bool mz_zip_array_resize(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_size, mz_uint growing)
pZip             3420 src/punutil/miniz.c             if (!mz_zip_array_ensure_capacity(pZip, pArray, new_size, growing))
pZip             3427 src/punutil/miniz.c     static MZ_FORCEINLINE mz_bool mz_zip_array_ensure_room(mz_zip_archive *pZip, mz_zip_array *pArray, size_t n)
pZip             3429 src/punutil/miniz.c         return mz_zip_array_reserve(pZip, pArray, pArray->m_size + n, MZ_TRUE);
pZip             3432 src/punutil/miniz.c     static MZ_FORCEINLINE mz_bool mz_zip_array_push_back(mz_zip_archive *pZip, mz_zip_array *pArray, const void *pElements, size_t n)
pZip             3435 src/punutil/miniz.c         if (!mz_zip_array_resize(pZip, pArray, orig_size + n, MZ_TRUE))
pZip             3508 src/punutil/miniz.c     static MZ_FORCEINLINE mz_bool mz_zip_set_error(mz_zip_archive *pZip, mz_zip_error err_num)
pZip             3510 src/punutil/miniz.c         if (pZip)
pZip             3511 src/punutil/miniz.c             pZip->m_last_error = err_num;
pZip             3515 src/punutil/miniz.c     static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip, mz_uint flags)
pZip             3518 src/punutil/miniz.c         if ((!pZip) || (pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_INVALID))
pZip             3519 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             3521 src/punutil/miniz.c         if (!pZip->m_pAlloc)
pZip             3522 src/punutil/miniz.c             pZip->m_pAlloc = miniz_def_alloc_func;
pZip             3523 src/punutil/miniz.c         if (!pZip->m_pFree)
pZip             3524 src/punutil/miniz.c             pZip->m_pFree = miniz_def_free_func;
pZip             3525 src/punutil/miniz.c         if (!pZip->m_pRealloc)
pZip             3526 src/punutil/miniz.c             pZip->m_pRealloc = miniz_def_realloc_func;
pZip             3528 src/punutil/miniz.c         pZip->m_archive_size = 0;
pZip             3529 src/punutil/miniz.c         pZip->m_central_directory_file_ofs = 0;
pZip             3530 src/punutil/miniz.c         pZip->m_total_files = 0;
pZip             3531 src/punutil/miniz.c         pZip->m_last_error = MZ_ZIP_NO_ERROR;
pZip             3533 src/punutil/miniz.c         if (NULL == (pZip->m_pState = (mz_zip_internal_state *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(mz_zip_internal_state))))
pZip             3534 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             3536 src/punutil/miniz.c         memset(pZip->m_pState, 0, sizeof(mz_zip_internal_state));
pZip             3537 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir, sizeof(mz_uint8));
pZip             3538 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir_offsets, sizeof(mz_uint32));
pZip             3539 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_sorted_central_dir_offsets, sizeof(mz_uint32));
pZip             3540 src/punutil/miniz.c         pZip->m_pState->m_init_flags = flags;
pZip             3541 src/punutil/miniz.c         pZip->m_pState->m_zip64 = MZ_FALSE;
pZip             3542 src/punutil/miniz.c         pZip->m_pState->m_zip64_has_extended_info_fields = MZ_FALSE;
pZip             3544 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_READING;
pZip             3578 src/punutil/miniz.c     static void mz_zip_reader_sort_central_dir_offsets_by_filename(mz_zip_archive *pZip)
pZip             3580 src/punutil/miniz.c         mz_zip_internal_state *pState = pZip->m_pState;
pZip             3585 src/punutil/miniz.c         const mz_uint32 size = pZip->m_total_files;
pZip             3630 src/punutil/miniz.c     static mz_bool mz_zip_reader_locate_header_sig(mz_zip_archive *pZip, mz_uint32 record_sig, mz_uint32 record_size, mz_int64 *pOfs)
pZip             3637 src/punutil/miniz.c         if (pZip->m_archive_size < record_size)
pZip             3641 src/punutil/miniz.c         cur_file_ofs = MZ_MAX((mz_int64)pZip->m_archive_size - (mz_int64)sizeof(buf_u32), 0);
pZip             3644 src/punutil/miniz.c             int i, n = (int)MZ_MIN(sizeof(buf_u32), pZip->m_archive_size - cur_file_ofs);
pZip             3646 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, n) != (mz_uint)n)
pZip             3654 src/punutil/miniz.c                     if ((pZip->m_archive_size - (cur_file_ofs + i)) >= record_size)
pZip             3666 src/punutil/miniz.c             if ((!cur_file_ofs) || ((pZip->m_archive_size - cur_file_ofs) >= ((mz_uint64)(MZ_UINT16_MAX) + record_size)))
pZip             3676 src/punutil/miniz.c     static mz_bool mz_zip_reader_eocd64_valid(mz_zip_archive *pZip, uint64_t offset, uint8_t *buf)
pZip             3678 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, offset, buf, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) == MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)
pZip             3689 src/punutil/miniz.c     static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, mz_uint flags)
pZip             3708 src/punutil/miniz.c         if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
pZip             3709 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             3711 src/punutil/miniz.c         if (!mz_zip_reader_locate_header_sig(pZip, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE, &cur_file_ofs))
pZip             3712 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FAILED_FINDING_CENTRAL_DIR);
pZip             3716 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) != MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
pZip             3717 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             3720 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             3724 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs - MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE, pZip64_locator, MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) == MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE)
pZip             3728 src/punutil/miniz.c                     pZip->m_pState->m_zip64 = MZ_TRUE;
pZip             3733 src/punutil/miniz.c         if (pZip->m_pState->m_zip64)
pZip             3739 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             3745 src/punutil/miniz.c             if (!mz_zip_reader_eocd64_valid(pZip, zip64_end_of_central_dir_ofs,
pZip             3753 src/punutil/miniz.c                     (pZip->m_archive_size - MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE))
pZip             3754 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             3756 src/punutil/miniz.c                 if (!mz_zip_reader_eocd64_valid(pZip, zip64_end_of_central_dir_ofs,
pZip             3758 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             3762 src/punutil/miniz.c         pZip->m_total_files = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS);
pZip             3769 src/punutil/miniz.c         if (pZip->m_pState->m_zip64)
pZip             3778 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3781 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
pZip             3785 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             3787 src/punutil/miniz.c             pZip->m_total_files = (mz_uint32)zip64_cdir_total_entries;
pZip             3790 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             3796 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             3807 src/punutil/miniz.c         if (pZip->m_total_files != cdir_entries_on_this_disk)
pZip             3808 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
pZip             3811 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
pZip             3813 src/punutil/miniz.c         if (cdir_size < (mz_uint64)pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)
pZip             3814 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3816 src/punutil/miniz.c         if (cdir_size> pZip->m_archive_size || cdir_ofs > pZip->m_archive_size - cdir_size)
pZip             3817 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3820 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3825 src/punutil/miniz.c         if (pZip->m_pState->m_zip64)
pZip             3829 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3836 src/punutil/miniz.c         if ((pZip->m_zip_type == MZ_ZIP_TYPE_FILE || pZip->m_zip_type == MZ_ZIP_TYPE_CFILE ||
pZip             3837 src/punutil/miniz.c             pZip->m_zip_type == MZ_ZIP_TYPE_USER) && pZip->m_pState->m_file_archive_start_ofs == 0)
pZip             3839 src/punutil/miniz.c             pZip->m_pState->m_file_archive_start_ofs = archive_ofs;
pZip             3840 src/punutil/miniz.c             pZip->m_archive_size -= archive_ofs;
pZip             3843 src/punutil/miniz.c         pZip->m_central_directory_file_ofs = cdir_ofs;
pZip             3845 src/punutil/miniz.c         if (pZip->m_total_files)
pZip             3849 src/punutil/miniz.c             if ((!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir, cdir_size, MZ_FALSE)) ||
pZip             3850 src/punutil/miniz.c                 (!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir_offsets, pZip->m_total_files, MZ_FALSE)))
pZip             3851 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             3855 src/punutil/miniz.c                 if (!mz_zip_array_resize(pZip, &pZip->m_pState->m_sorted_central_dir_offsets, pZip->m_total_files, MZ_FALSE))
pZip             3856 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             3859 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, cdir_ofs, pZip->m_pState->m_central_dir.m_p, cdir_size) != cdir_size)
pZip             3860 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             3863 src/punutil/miniz.c             p = (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p;
pZip             3864 src/punutil/miniz.c             for (n = cdir_size, i = 0; i < pZip->m_total_files; ++i)
pZip             3870 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3872 src/punutil/miniz.c                 MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, i) = (mz_uint32)(p - (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p);
pZip             3875 src/punutil/miniz.c                     MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_sorted_central_dir_offsets, mz_uint32, i) = i;
pZip             3883 src/punutil/miniz.c                 if ((!pZip->m_pState->m_zip64_has_extended_info_fields) &&
pZip             3899 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             3901 src/punutil/miniz.c                             if (pZip->m_pRead(pZip->m_pIO_opaque, cdir_ofs + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size, buf, ext_data_size) != ext_data_size)
pZip             3904 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             3922 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3931 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3937 src/punutil/miniz.c                                 pZip->m_pState->m_zip64 = MZ_TRUE;
pZip             3938 src/punutil/miniz.c                                 pZip->m_pState->m_zip64_has_extended_info_fields = MZ_TRUE;
pZip             3954 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3959 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
pZip             3963 src/punutil/miniz.c                     if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size)
pZip             3964 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3969 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             3972 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             3980 src/punutil/miniz.c             mz_zip_reader_sort_central_dir_offsets_by_filename(pZip);
pZip             3985 src/punutil/miniz.c     void mz_zip_zero_struct(mz_zip_archive *pZip)
pZip             3987 src/punutil/miniz.c         if (pZip)
pZip             3988 src/punutil/miniz.c             MZ_CLEAR_PTR(pZip);
pZip             3991 src/punutil/miniz.c     static mz_bool mz_zip_reader_end_internal(mz_zip_archive *pZip, mz_bool set_last_error)
pZip             3995 src/punutil/miniz.c         if (!pZip)
pZip             3998 src/punutil/miniz.c         if ((!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING))
pZip             4001 src/punutil/miniz.c                 pZip->m_last_error = MZ_ZIP_INVALID_PARAMETER;
pZip             4006 src/punutil/miniz.c         if (pZip->m_pState)
pZip             4008 src/punutil/miniz.c             mz_zip_internal_state *pState = pZip->m_pState;
pZip             4009 src/punutil/miniz.c             pZip->m_pState = NULL;
pZip             4011 src/punutil/miniz.c             mz_zip_array_clear(pZip, &pState->m_central_dir);
pZip             4012 src/punutil/miniz.c             mz_zip_array_clear(pZip, &pState->m_central_dir_offsets);
pZip             4013 src/punutil/miniz.c             mz_zip_array_clear(pZip, &pState->m_sorted_central_dir_offsets);
pZip             4018 src/punutil/miniz.c                 if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE)
pZip             4023 src/punutil/miniz.c                             pZip->m_last_error = MZ_ZIP_FILE_CLOSE_FAILED;
pZip             4031 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             4033 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_INVALID;
pZip             4038 src/punutil/miniz.c     mz_bool mz_zip_reader_end(mz_zip_archive *pZip)
pZip             4040 src/punutil/miniz.c         return mz_zip_reader_end_internal(pZip, MZ_TRUE);
pZip             4042 src/punutil/miniz.c     mz_bool mz_zip_reader_init(mz_zip_archive *pZip, mz_uint64 size, mz_uint flags)
pZip             4044 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pRead))
pZip             4045 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4047 src/punutil/miniz.c         if (!mz_zip_reader_init_internal(pZip, flags))
pZip             4050 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_USER;
pZip             4051 src/punutil/miniz.c         pZip->m_archive_size = size;
pZip             4053 src/punutil/miniz.c         if (!mz_zip_reader_read_central_dir(pZip, flags))
pZip             4055 src/punutil/miniz.c             mz_zip_reader_end_internal(pZip, MZ_FALSE);
pZip             4064 src/punutil/miniz.c         mz_zip_archive *pZip = (mz_zip_archive *)pOpaque;
pZip             4065 src/punutil/miniz.c         size_t s = (file_ofs >= pZip->m_archive_size) ? 0 : (size_t)MZ_MIN(pZip->m_archive_size - file_ofs, n);
pZip             4066 src/punutil/miniz.c         memcpy(pBuf, (const mz_uint8 *)pZip->m_pState->m_pMem + file_ofs, s);
pZip             4070 src/punutil/miniz.c     mz_bool mz_zip_reader_init_mem(mz_zip_archive *pZip, const void *pMem, size_t size, mz_uint flags)
pZip             4073 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4076 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             4078 src/punutil/miniz.c         if (!mz_zip_reader_init_internal(pZip, flags))
pZip             4081 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_MEMORY;
pZip             4082 src/punutil/miniz.c         pZip->m_archive_size = size;
pZip             4083 src/punutil/miniz.c         pZip->m_pRead = mz_zip_mem_read_func;
pZip             4084 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             4085 src/punutil/miniz.c         pZip->m_pNeeds_keepalive = NULL;
pZip             4088 src/punutil/miniz.c         pZip->m_pState->m_pMem = const_cast<void *>(pMem);
pZip             4090 src/punutil/miniz.c     pZip->m_pState->m_pMem = (void *)pMem;
pZip             4093 src/punutil/miniz.c         pZip->m_pState->m_mem_size = size;
pZip             4095 src/punutil/miniz.c         if (!mz_zip_reader_read_central_dir(pZip, flags))
pZip             4097 src/punutil/miniz.c             mz_zip_reader_end_internal(pZip, MZ_FALSE);
pZip             4107 src/punutil/miniz.c         mz_zip_archive *pZip = (mz_zip_archive *)pOpaque;
pZip             4108 src/punutil/miniz.c         mz_int64 cur_ofs = MZ_FTELL64(pZip->m_pState->m_pFile);
pZip             4110 src/punutil/miniz.c         file_ofs += pZip->m_pState->m_file_archive_start_ofs;
pZip             4112 src/punutil/miniz.c         if (((mz_int64)file_ofs < 0) || (((cur_ofs != (mz_int64)file_ofs)) && (MZ_FSEEK64(pZip->m_pState->m_pFile, (mz_int64)file_ofs, SEEK_SET))))
pZip             4115 src/punutil/miniz.c         return MZ_FREAD(pBuf, 1, n, pZip->m_pState->m_pFile);
pZip             4118 src/punutil/miniz.c     mz_bool mz_zip_reader_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint32 flags)
pZip             4120 src/punutil/miniz.c         return mz_zip_reader_init_file_v2(pZip, pFilename, flags, 0, 0);
pZip             4123 src/punutil/miniz.c     mz_bool mz_zip_reader_init_file_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint flags, mz_uint64 file_start_ofs, mz_uint64 archive_size)
pZip             4128 src/punutil/miniz.c         if ((!pZip) || (!pFilename) || ((archive_size) && (archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)))
pZip             4129 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4133 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             4141 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED);
pZip             4152 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             4155 src/punutil/miniz.c         if (!mz_zip_reader_init_internal(pZip, flags))
pZip             4161 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_FILE;
pZip             4162 src/punutil/miniz.c         pZip->m_pRead = mz_zip_file_read_func;
pZip             4163 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             4164 src/punutil/miniz.c         pZip->m_pState->m_pFile = pFile;
pZip             4165 src/punutil/miniz.c         pZip->m_archive_size = file_size;
pZip             4166 src/punutil/miniz.c         pZip->m_pState->m_file_archive_start_ofs = file_start_ofs;
pZip             4168 src/punutil/miniz.c         if (!mz_zip_reader_read_central_dir(pZip, flags))
pZip             4170 src/punutil/miniz.c             mz_zip_reader_end_internal(pZip, MZ_FALSE);
pZip             4177 src/punutil/miniz.c     mz_bool mz_zip_reader_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint64 archive_size, mz_uint flags)
pZip             4181 src/punutil/miniz.c         if ((!pZip) || (!pFile))
pZip             4182 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             4189 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED);
pZip             4194 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
pZip             4197 src/punutil/miniz.c         if (!mz_zip_reader_init_internal(pZip, flags))
pZip             4200 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_CFILE;
pZip             4201 src/punutil/miniz.c         pZip->m_pRead = mz_zip_file_read_func;
pZip             4203 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             4204 src/punutil/miniz.c         pZip->m_pState->m_pFile = pFile;
pZip             4205 src/punutil/miniz.c         pZip->m_archive_size = archive_size;
pZip             4206 src/punutil/miniz.c         pZip->m_pState->m_file_archive_start_ofs = cur_file_ofs;
pZip             4208 src/punutil/miniz.c         if (!mz_zip_reader_read_central_dir(pZip, flags))
pZip             4210 src/punutil/miniz.c             mz_zip_reader_end_internal(pZip, MZ_FALSE);
pZip             4219 src/punutil/miniz.c     static MZ_FORCEINLINE const mz_uint8 *mz_zip_get_cdh(mz_zip_archive *pZip, mz_uint file_index)
pZip             4221 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (file_index >= pZip->m_total_files))
pZip             4223 src/punutil/miniz.c         return &MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, file_index));
pZip             4226 src/punutil/miniz.c     mz_bool mz_zip_reader_is_file_encrypted(mz_zip_archive *pZip, mz_uint file_index)
pZip             4229 src/punutil/miniz.c         const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index);
pZip             4232 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4240 src/punutil/miniz.c     mz_bool mz_zip_reader_is_file_supported(mz_zip_archive *pZip, mz_uint file_index)
pZip             4245 src/punutil/miniz.c         const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index);
pZip             4248 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4257 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD);
pZip             4263 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             4269 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE);
pZip             4276 src/punutil/miniz.c     mz_bool mz_zip_reader_is_file_a_directory(mz_zip_archive *pZip, mz_uint file_index)
pZip             4279 src/punutil/miniz.c         const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index);
pZip             4282 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4308 src/punutil/miniz.c     static mz_bool mz_zip_file_stat_internal(mz_zip_archive *pZip, mz_uint file_index, const mz_uint8 *pCentral_dir_header, mz_zip_archive_file_stat *pStat, mz_bool *pFound_zip64_extra_data)
pZip             4317 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4321 src/punutil/miniz.c         pStat->m_central_dir_ofs = MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, file_index);
pZip             4349 src/punutil/miniz.c         pStat->m_is_directory = mz_zip_reader_is_file_a_directory(pZip, file_index);
pZip             4350 src/punutil/miniz.c         pStat->m_is_encrypted = mz_zip_reader_is_file_encrypted(pZip, file_index);
pZip             4351 src/punutil/miniz.c         pStat->m_is_supported = mz_zip_reader_is_file_supported(pZip, file_index);
pZip             4370 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4376 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4389 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4399 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4409 src/punutil/miniz.c                                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4456 src/punutil/miniz.c     static mz_bool mz_zip_locate_file_binary_search(mz_zip_archive *pZip, const char *pFilename, mz_uint32 *pIndex)
pZip             4458 src/punutil/miniz.c         mz_zip_internal_state *pState = pZip->m_pState;
pZip             4462 src/punutil/miniz.c         const mz_uint32 size = pZip->m_total_files;
pZip             4493 src/punutil/miniz.c         return mz_zip_set_error(pZip, MZ_ZIP_FILE_NOT_FOUND);
pZip             4496 src/punutil/miniz.c     int mz_zip_reader_locate_file(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags)
pZip             4499 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pName, pComment, flags, &index))
pZip             4505 src/punutil/miniz.c     mz_bool mz_zip_reader_locate_file_v2(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags, mz_uint32 *pIndex)
pZip             4513 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pName))
pZip             4514 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4517 src/punutil/miniz.c         if (((pZip->m_pState->m_init_flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0) &&
pZip             4518 src/punutil/miniz.c             (pZip->m_zip_mode == MZ_ZIP_MODE_READING) &&
pZip             4519 src/punutil/miniz.c             ((flags & (MZ_ZIP_FLAG_IGNORE_PATH | MZ_ZIP_FLAG_CASE_SENSITIVE)) == 0) && (!pComment) && (pZip->m_pState->m_sorted_central_dir_offsets.m_size))
pZip             4521 src/punutil/miniz.c             return mz_zip_locate_file_binary_search(pZip, pName, pIndex);
pZip             4527 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4531 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4533 src/punutil/miniz.c         for (file_index = 0; file_index < pZip->m_total_files; file_index++)
pZip             4535 src/punutil/miniz.c             const mz_uint8 *pHeader = &MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, file_index));
pZip             4567 src/punutil/miniz.c         return mz_zip_set_error(pZip, MZ_ZIP_FILE_NOT_FOUND);
pZip             4570 src/punutil/miniz.c     static mz_bool mz_zip_reader_extract_to_mem_no_alloc1(mz_zip_archive *pZip, mz_uint file_index, void *pBuf, size_t buf_size, mz_uint flags, void *pUser_read_buf, size_t user_read_buf_size, const mz_zip_archive_file_stat *st)
pZip             4580 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || ((buf_size) && (!pBuf)) || ((user_read_buf_size) && (!pUser_read_buf)) || (!pZip->m_pRead))
pZip             4581 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4587 src/punutil/miniz.c         else if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat))
pZip             4596 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             4600 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD);
pZip             4605 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_BUF_TOO_SMALL);
pZip             4609 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pLocal_header, MZ_ZIP_LOCAL_DIR_HEADER_SIZE) != MZ_ZIP_LOCAL_DIR_HEADER_SIZE)
pZip             4610 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             4613 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4616 src/punutil/miniz.c         if ((cur_file_ofs + file_stat.m_comp_size) > pZip->m_archive_size)
pZip             4617 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4622 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, (size_t)needed_size) != needed_size)
pZip             4623 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             4629 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_CRC_CHECK_FAILED);
pZip             4639 src/punutil/miniz.c         if (pZip->m_pState->m_pMem)
pZip             4642 src/punutil/miniz.c             pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + cur_file_ofs;
pZip             4661 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             4663 src/punutil/miniz.c             if (NULL == (pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)read_buf_size)))
pZip             4664 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             4674 src/punutil/miniz.c             if ((!read_buf_avail) && (!pZip->m_pState->m_pMem))
pZip             4677 src/punutil/miniz.c                 if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pRead_buf, (size_t)read_buf_avail) != read_buf_avail)
pZip             4680 src/punutil/miniz.c                     mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED);
pZip             4699 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE);
pZip             4705 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_CRC_CHECK_FAILED);
pZip             4711 src/punutil/miniz.c         if ((!pZip->m_pState->m_pMem) && (!pUser_read_buf))
pZip             4712 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             4717 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_to_mem_no_alloc(mz_zip_archive *pZip, mz_uint file_index, void *pBuf, size_t buf_size, mz_uint flags, void *pUser_read_buf, size_t user_read_buf_size)
pZip             4719 src/punutil/miniz.c         return mz_zip_reader_extract_to_mem_no_alloc1(pZip, file_index, pBuf, buf_size, flags, pUser_read_buf, user_read_buf_size, NULL);
pZip             4722 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_file_to_mem_no_alloc(mz_zip_archive *pZip, const char *pFilename, void *pBuf, size_t buf_size, mz_uint flags, void *pUser_read_buf, size_t user_read_buf_size)
pZip             4725 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index))
pZip             4727 src/punutil/miniz.c         return mz_zip_reader_extract_to_mem_no_alloc1(pZip, file_index, pBuf, buf_size, flags, pUser_read_buf, user_read_buf_size, NULL);
pZip             4730 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_to_mem(mz_zip_archive *pZip, mz_uint file_index, void *pBuf, size_t buf_size, mz_uint flags)
pZip             4732 src/punutil/miniz.c         return mz_zip_reader_extract_to_mem_no_alloc1(pZip, file_index, pBuf, buf_size, flags, NULL, 0, NULL);
pZip             4735 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_file_to_mem(mz_zip_archive *pZip, const char *pFilename, void *pBuf, size_t buf_size, mz_uint flags)
pZip             4737 src/punutil/miniz.c         return mz_zip_reader_extract_file_to_mem_no_alloc(pZip, pFilename, pBuf, buf_size, flags, NULL, 0);
pZip             4740 src/punutil/miniz.c     void *mz_zip_reader_extract_to_heap(mz_zip_archive *pZip, mz_uint file_index, size_t *pSize, mz_uint flags)
pZip             4749 src/punutil/miniz.c         if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat))
pZip             4755 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             4759 src/punutil/miniz.c         if (NULL == (pBuf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)alloc_size)))
pZip             4761 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             4765 src/punutil/miniz.c         if (!mz_zip_reader_extract_to_mem_no_alloc1(pZip, file_index, pBuf, (size_t)alloc_size, flags, NULL, 0, &file_stat))
pZip             4767 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             4776 src/punutil/miniz.c     void *mz_zip_reader_extract_file_to_heap(mz_zip_archive *pZip, const char *pFilename, size_t *pSize, mz_uint flags)
pZip             4779 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index))
pZip             4785 src/punutil/miniz.c         return mz_zip_reader_extract_to_heap(pZip, file_index, pSize, flags);
pZip             4788 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_to_callback(mz_zip_archive *pZip, mz_uint file_index, mz_file_write_func pCallback, void *pOpaque, mz_uint flags)
pZip             4801 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pCallback) || (!pZip->m_pRead))
pZip             4802 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             4804 src/punutil/miniz.c         if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat))
pZip             4813 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             4817 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD);
pZip             4821 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pLocal_header, MZ_ZIP_LOCAL_DIR_HEADER_SIZE) != MZ_ZIP_LOCAL_DIR_HEADER_SIZE)
pZip             4822 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             4825 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4828 src/punutil/miniz.c         if ((cur_file_ofs + file_stat.m_comp_size) > pZip->m_archive_size)
pZip             4829 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             4832 src/punutil/miniz.c         if (pZip->m_pState->m_pMem)
pZip             4834 src/punutil/miniz.c             pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + cur_file_ofs;
pZip             4841 src/punutil/miniz.c             if (NULL == (pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)read_buf_size)))
pZip             4842 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             4851 src/punutil/miniz.c             if (pZip->m_pState->m_pMem)
pZip             4854 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             4858 src/punutil/miniz.c                     mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED);
pZip             4877 src/punutil/miniz.c                     if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pRead_buf, (size_t)read_buf_avail) != read_buf_avail)
pZip             4879 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             4893 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED);
pZip             4909 src/punutil/miniz.c             if (NULL == (pWrite_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, TINFL_LZ_DICT_SIZE)))
pZip             4911 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             4920 src/punutil/miniz.c                     if ((!read_buf_avail) && (!pZip->m_pState->m_pMem))
pZip             4923 src/punutil/miniz.c                         if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pRead_buf, (size_t)read_buf_avail) != read_buf_avail)
pZip             4925 src/punutil/miniz.c                             mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             4943 src/punutil/miniz.c                             mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED);
pZip             4953 src/punutil/miniz.c                             mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED);
pZip             4967 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE);
pZip             4973 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED);
pZip             4979 src/punutil/miniz.c         if (!pZip->m_pState->m_pMem)
pZip             4980 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             4983 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pWrite_buf);
pZip             4988 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_file_to_callback(mz_zip_archive *pZip, const char *pFilename, mz_file_write_func pCallback, void *pOpaque, mz_uint flags)
pZip             4991 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index))
pZip             4994 src/punutil/miniz.c         return mz_zip_reader_extract_to_callback(pZip, file_index, pCallback, pOpaque, flags);
pZip             4997 src/punutil/miniz.c     mz_zip_reader_extract_iter_state *mz_zip_reader_extract_iter_new(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags)
pZip             5004 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             5008 src/punutil/miniz.c         pState = (mz_zip_reader_extract_iter_state *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(mz_zip_reader_extract_iter_state));
pZip             5011 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5016 src/punutil/miniz.c         if (!mz_zip_reader_file_stat(pZip, file_index, &pState->file_stat))
pZip             5018 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5025 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             5026 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5033 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD);
pZip             5034 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5039 src/punutil/miniz.c         pState->pZip = pZip;
pZip             5055 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, pState->cur_file_ofs, pLocal_header, MZ_ZIP_LOCAL_DIR_HEADER_SIZE) != MZ_ZIP_LOCAL_DIR_HEADER_SIZE)
pZip             5057 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5058 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5064 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5065 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5070 src/punutil/miniz.c         if ((pState->cur_file_ofs + pState->file_stat.m_comp_size) > pZip->m_archive_size)
pZip             5072 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5073 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5078 src/punutil/miniz.c         if (pZip->m_pState->m_pMem)
pZip             5080 src/punutil/miniz.c             pState->pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + pState->cur_file_ofs;
pZip             5090 src/punutil/miniz.c                 if (NULL == (pState->pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)pState->read_buf_size)))
pZip             5092 src/punutil/miniz.c                     mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5093 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5112 src/punutil/miniz.c             if (NULL == (pState->pWrite_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, TINFL_LZ_DICT_SIZE)))
pZip             5114 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5116 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pState->pRead_buf);
pZip             5117 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5125 src/punutil/miniz.c     mz_zip_reader_extract_iter_state *mz_zip_reader_extract_file_iter_new(mz_zip_archive *pZip, const char *pFilename, mz_uint flags)
pZip             5130 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index))
pZip             5134 src/punutil/miniz.c         return mz_zip_reader_extract_iter_new(pZip, file_index, flags);
pZip             5142 src/punutil/miniz.c         if ((!pState) || (!pState->pZip) || (!pState->pZip->m_pState) || (!pvBuf))
pZip             5151 src/punutil/miniz.c             if (pState->pZip->m_pState->m_pMem)
pZip             5160 src/punutil/miniz.c                 if (pState->pZip->m_pRead(pState->pZip->m_pIO_opaque, pState->cur_file_ofs, pvBuf, copied_to_caller) != copied_to_caller)
pZip             5163 src/punutil/miniz.c                     mz_zip_set_error(pState->pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5193 src/punutil/miniz.c                     if ((!pState->read_buf_avail) && (!pState->pZip->m_pState->m_pMem))
pZip             5197 src/punutil/miniz.c                         if (pState->pZip->m_pRead(pState->pZip->m_pIO_opaque, pState->cur_file_ofs, pState->pRead_buf, (size_t)pState->read_buf_avail) != pState->read_buf_avail)
pZip             5199 src/punutil/miniz.c                             mz_zip_set_error(pState->pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5239 src/punutil/miniz.c                         mz_zip_set_error(pState->pZip, MZ_ZIP_DECOMPRESSION_FAILED);
pZip             5259 src/punutil/miniz.c         if ((!pState) || (!pState->pZip) || (!pState->pZip->m_pState))
pZip             5268 src/punutil/miniz.c                 mz_zip_set_error(pState->pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE);
pZip             5274 src/punutil/miniz.c                 mz_zip_set_error(pState->pZip, MZ_ZIP_DECOMPRESSION_FAILED);
pZip             5281 src/punutil/miniz.c         if (!pState->pZip->m_pState->m_pMem)
pZip             5282 src/punutil/miniz.c             pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState->pRead_buf);
pZip             5284 src/punutil/miniz.c             pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState->pWrite_buf);
pZip             5290 src/punutil/miniz.c         pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState);
pZip             5303 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_to_file(mz_zip_archive *pZip, mz_uint file_index, const char *pDst_filename, mz_uint flags)
pZip             5309 src/punutil/miniz.c         if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat))
pZip             5313 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE);
pZip             5317 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             5319 src/punutil/miniz.c         status = mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags);
pZip             5324 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED);
pZip             5337 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_file_to_file(mz_zip_archive *pZip, const char *pArchive_filename, const char *pDst_filename, mz_uint flags)
pZip             5340 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pArchive_filename, NULL, flags, &file_index))
pZip             5343 src/punutil/miniz.c         return mz_zip_reader_extract_to_file(pZip, file_index, pDst_filename, flags);
pZip             5346 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_to_cfile(mz_zip_archive *pZip, mz_uint file_index, MZ_FILE *pFile, mz_uint flags)
pZip             5350 src/punutil/miniz.c         if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat))
pZip             5354 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE);
pZip             5356 src/punutil/miniz.c         return mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags);
pZip             5359 src/punutil/miniz.c     mz_bool mz_zip_reader_extract_file_to_cfile(mz_zip_archive *pZip, const char *pArchive_filename, MZ_FILE *pFile, mz_uint flags)
pZip             5362 src/punutil/miniz.c         if (!mz_zip_reader_locate_file_v2(pZip, pArchive_filename, NULL, flags, &file_index))
pZip             5365 src/punutil/miniz.c         return mz_zip_reader_extract_to_cfile(pZip, file_index, pFile, flags);
pZip             5377 src/punutil/miniz.c     mz_bool mz_zip_validate_file(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags)
pZip             5396 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (!pZip->m_pRead))
pZip             5397 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5399 src/punutil/miniz.c         if (file_index > pZip->m_total_files)
pZip             5400 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5402 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             5404 src/punutil/miniz.c         pCentral_dir_header = mz_zip_get_cdh(pZip, file_index);
pZip             5406 src/punutil/miniz.c         if (!mz_zip_file_stat_internal(pZip, file_index, pCentral_dir_header, &file_stat, &found_zip64_ext_data_in_cdir))
pZip             5415 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
pZip             5419 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD);
pZip             5422 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE);
pZip             5426 src/punutil/miniz.c         if (pZip->m_pRead(pZip->m_pIO_opaque, local_header_ofs, pLocal_header, MZ_ZIP_LOCAL_DIR_HEADER_SIZE) != MZ_ZIP_LOCAL_DIR_HEADER_SIZE)
pZip             5427 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5430 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5441 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5443 src/punutil/miniz.c         if ((local_header_ofs + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + local_header_filename_len + local_header_extra_len + file_stat.m_comp_size) > pZip->m_archive_size)
pZip             5444 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5446 src/punutil/miniz.c         if (!mz_zip_array_resize(pZip, &file_data_array, MZ_MAX(local_header_filename_len, local_header_extra_len), MZ_FALSE))
pZip             5448 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5454 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, local_header_ofs + MZ_ZIP_LOCAL_DIR_HEADER_SIZE, file_data_array.m_p, local_header_filename_len) != local_header_filename_len)
pZip             5456 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5463 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED);
pZip             5473 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, local_header_ofs + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + local_header_filename_len, file_data_array.m_p, local_header_extra_len) != local_header_extra_len)
pZip             5475 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5485 src/punutil/miniz.c                     mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5495 src/punutil/miniz.c                     mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5505 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             5533 src/punutil/miniz.c             if (pZip->m_pRead(pZip->m_pIO_opaque, local_header_ofs + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + local_header_filename_len + local_header_extra_len + file_stat.m_comp_size, descriptor_buf, sizeof(mz_uint32) * num_descriptor_uint32s) != (sizeof(mz_uint32) * num_descriptor_uint32s))
pZip             5535 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             5557 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED);
pZip             5565 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED);
pZip             5570 src/punutil/miniz.c         mz_zip_array_clear(pZip, &file_data_array);
pZip             5574 src/punutil/miniz.c             if (!mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_compute_crc32_callback, &uncomp_crc32, 0))
pZip             5580 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED);
pZip             5588 src/punutil/miniz.c         mz_zip_array_clear(pZip, &file_data_array);
pZip             5592 src/punutil/miniz.c     mz_bool mz_zip_validate_archive(mz_zip_archive *pZip, mz_uint flags)
pZip             5597 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (!pZip->m_pRead))
pZip             5598 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5600 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             5605 src/punutil/miniz.c             if (pZip->m_total_files > MZ_UINT16_MAX)
pZip             5606 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             5608 src/punutil/miniz.c             if (pZip->m_archive_size > MZ_UINT32_MAX)
pZip             5609 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             5614 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             5617 src/punutil/miniz.c         for (i = 0; i < pZip->m_total_files; i++)
pZip             5624 src/punutil/miniz.c                 if (!mz_zip_reader_file_stat(pZip, i, &stat))
pZip             5627 src/punutil/miniz.c                 if (!mz_zip_reader_locate_file_v2(pZip, stat.m_filename, NULL, 0, &found_index))
pZip             5632 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED);
pZip             5635 src/punutil/miniz.c             if (!mz_zip_validate_file(pZip, i, flags))
pZip             5754 src/punutil/miniz.c         mz_zip_archive *pZip = (mz_zip_archive *)pOpaque;
pZip             5755 src/punutil/miniz.c         mz_zip_internal_state *pState = pZip->m_pState;
pZip             5764 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE);
pZip             5776 src/punutil/miniz.c             if (NULL == (pNew_block = pZip->m_pRealloc(pZip->m_pAlloc_opaque, pState->m_pMem, 1, new_capacity)))
pZip             5778 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5790 src/punutil/miniz.c     static mz_bool mz_zip_writer_end_internal(mz_zip_archive *pZip, mz_bool set_last_error)
pZip             5795 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || ((pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) && (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED)))
pZip             5798 src/punutil/miniz.c                 mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5802 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             5803 src/punutil/miniz.c         pZip->m_pState = NULL;
pZip             5804 src/punutil/miniz.c         mz_zip_array_clear(pZip, &pState->m_central_dir);
pZip             5805 src/punutil/miniz.c         mz_zip_array_clear(pZip, &pState->m_central_dir_offsets);
pZip             5806 src/punutil/miniz.c         mz_zip_array_clear(pZip, &pState->m_sorted_central_dir_offsets);
pZip             5811 src/punutil/miniz.c             if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE)
pZip             5816 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED);
pZip             5825 src/punutil/miniz.c         if ((pZip->m_pWrite == mz_zip_heap_write_func) && (pState->m_pMem))
pZip             5827 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pState->m_pMem);
pZip             5831 src/punutil/miniz.c         pZip->m_pFree(pZip->m_pAlloc_opaque, pState);
pZip             5832 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_INVALID;
pZip             5836 src/punutil/miniz.c     mz_bool mz_zip_writer_init_v2(mz_zip_archive *pZip, mz_uint64 existing_size, mz_uint flags)
pZip             5840 src/punutil/miniz.c         if ((!pZip) || (pZip->m_pState) || (!pZip->m_pWrite) || (pZip->m_zip_mode != MZ_ZIP_MODE_INVALID))
pZip             5841 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5845 src/punutil/miniz.c             if (!pZip->m_pRead)
pZip             5846 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5849 src/punutil/miniz.c         if (pZip->m_file_offset_alignment)
pZip             5852 src/punutil/miniz.c             if (pZip->m_file_offset_alignment & (pZip->m_file_offset_alignment - 1))
pZip             5853 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             5856 src/punutil/miniz.c         if (!pZip->m_pAlloc)
pZip             5857 src/punutil/miniz.c             pZip->m_pAlloc = miniz_def_alloc_func;
pZip             5858 src/punutil/miniz.c         if (!pZip->m_pFree)
pZip             5859 src/punutil/miniz.c             pZip->m_pFree = miniz_def_free_func;
pZip             5860 src/punutil/miniz.c         if (!pZip->m_pRealloc)
pZip             5861 src/punutil/miniz.c             pZip->m_pRealloc = miniz_def_realloc_func;
pZip             5863 src/punutil/miniz.c         pZip->m_archive_size = existing_size;
pZip             5864 src/punutil/miniz.c         pZip->m_central_directory_file_ofs = 0;
pZip             5865 src/punutil/miniz.c         pZip->m_total_files = 0;
pZip             5867 src/punutil/miniz.c         if (NULL == (pZip->m_pState = (mz_zip_internal_state *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(mz_zip_internal_state))))
pZip             5868 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5870 src/punutil/miniz.c         memset(pZip->m_pState, 0, sizeof(mz_zip_internal_state));
pZip             5872 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir, sizeof(mz_uint8));
pZip             5873 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir_offsets, sizeof(mz_uint32));
pZip             5874 src/punutil/miniz.c         MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_sorted_central_dir_offsets, sizeof(mz_uint32));
pZip             5876 src/punutil/miniz.c         pZip->m_pState->m_zip64 = zip64;
pZip             5877 src/punutil/miniz.c         pZip->m_pState->m_zip64_has_extended_info_fields = zip64;
pZip             5879 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_USER;
pZip             5880 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_WRITING;
pZip             5885 src/punutil/miniz.c     mz_bool mz_zip_writer_init(mz_zip_archive *pZip, mz_uint64 existing_size)
pZip             5887 src/punutil/miniz.c         return mz_zip_writer_init_v2(pZip, existing_size, 0);
pZip             5890 src/punutil/miniz.c     mz_bool mz_zip_writer_init_heap_v2(mz_zip_archive *pZip, size_t size_to_reserve_at_beginning, size_t initial_allocation_size, mz_uint flags)
pZip             5892 src/punutil/miniz.c         pZip->m_pWrite = mz_zip_heap_write_func;
pZip             5893 src/punutil/miniz.c         pZip->m_pNeeds_keepalive = NULL;
pZip             5896 src/punutil/miniz.c             pZip->m_pRead = mz_zip_mem_read_func;
pZip             5898 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             5900 src/punutil/miniz.c         if (!mz_zip_writer_init_v2(pZip, size_to_reserve_at_beginning, flags))
pZip             5903 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_HEAP;
pZip             5907 src/punutil/miniz.c             if (NULL == (pZip->m_pState->m_pMem = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, initial_allocation_size)))
pZip             5909 src/punutil/miniz.c                 mz_zip_writer_end_internal(pZip, MZ_FALSE);
pZip             5910 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             5912 src/punutil/miniz.c             pZip->m_pState->m_mem_capacity = initial_allocation_size;
pZip             5918 src/punutil/miniz.c     mz_bool mz_zip_writer_init_heap(mz_zip_archive *pZip, size_t size_to_reserve_at_beginning, size_t initial_allocation_size)
pZip             5920 src/punutil/miniz.c         return mz_zip_writer_init_heap_v2(pZip, size_to_reserve_at_beginning, initial_allocation_size, 0);
pZip             5926 src/punutil/miniz.c         mz_zip_archive *pZip = (mz_zip_archive *)pOpaque;
pZip             5927 src/punutil/miniz.c         mz_int64 cur_ofs = MZ_FTELL64(pZip->m_pState->m_pFile);
pZip             5929 src/punutil/miniz.c         file_ofs += pZip->m_pState->m_file_archive_start_ofs;
pZip             5931 src/punutil/miniz.c         if (((mz_int64)file_ofs < 0) || (((cur_ofs != (mz_int64)file_ofs)) && (MZ_FSEEK64(pZip->m_pState->m_pFile, (mz_int64)file_ofs, SEEK_SET))))
pZip             5933 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED);
pZip             5937 src/punutil/miniz.c         return MZ_FWRITE(pBuf, 1, n, pZip->m_pState->m_pFile);
pZip             5940 src/punutil/miniz.c     mz_bool mz_zip_writer_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint64 size_to_reserve_at_beginning)
pZip             5942 src/punutil/miniz.c         return mz_zip_writer_init_file_v2(pZip, pFilename, size_to_reserve_at_beginning, 0);
pZip             5945 src/punutil/miniz.c     mz_bool mz_zip_writer_init_file_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint64 size_to_reserve_at_beginning, mz_uint flags)
pZip             5949 src/punutil/miniz.c         pZip->m_pWrite = mz_zip_file_write_func;
pZip             5950 src/punutil/miniz.c         pZip->m_pNeeds_keepalive = NULL;
pZip             5953 src/punutil/miniz.c             pZip->m_pRead = mz_zip_file_read_func;
pZip             5955 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             5957 src/punutil/miniz.c         if (!mz_zip_writer_init_v2(pZip, size_to_reserve_at_beginning, flags))
pZip             5962 src/punutil/miniz.c             mz_zip_writer_end(pZip);
pZip             5963 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             5966 src/punutil/miniz.c         pZip->m_pState->m_pFile = pFile;
pZip             5967 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_FILE;
pZip             5979 src/punutil/miniz.c                 if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_ofs, buf, n) != n)
pZip             5981 src/punutil/miniz.c                     mz_zip_writer_end(pZip);
pZip             5982 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             5992 src/punutil/miniz.c     mz_bool mz_zip_writer_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint flags)
pZip             5994 src/punutil/miniz.c         pZip->m_pWrite = mz_zip_file_write_func;
pZip             5995 src/punutil/miniz.c         pZip->m_pNeeds_keepalive = NULL;
pZip             5998 src/punutil/miniz.c             pZip->m_pRead = mz_zip_file_read_func;
pZip             6000 src/punutil/miniz.c         pZip->m_pIO_opaque = pZip;
pZip             6002 src/punutil/miniz.c         if (!mz_zip_writer_init_v2(pZip, 0, flags))
pZip             6005 src/punutil/miniz.c         pZip->m_pState->m_pFile = pFile;
pZip             6006 src/punutil/miniz.c         pZip->m_pState->m_file_archive_start_ofs = MZ_FTELL64(pZip->m_pState->m_pFile);
pZip             6007 src/punutil/miniz.c         pZip->m_zip_type = MZ_ZIP_TYPE_CFILE;
pZip             6013 src/punutil/miniz.c     mz_bool mz_zip_writer_init_from_reader_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint flags)
pZip             6017 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING))
pZip             6018 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6023 src/punutil/miniz.c             if (!pZip->m_pState->m_zip64)
pZip             6024 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6028 src/punutil/miniz.c         if (pZip->m_pState->m_zip64)
pZip             6030 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT32_MAX)
pZip             6031 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             6035 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT16_MAX)
pZip             6036 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             6038 src/punutil/miniz.c             if ((pZip->m_archive_size + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + MZ_ZIP_LOCAL_DIR_HEADER_SIZE) > MZ_UINT32_MAX)
pZip             6039 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE);
pZip             6042 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             6048 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6050 src/punutil/miniz.c             if (pZip->m_pIO_opaque != pZip)
pZip             6051 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6053 src/punutil/miniz.c             if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE &&
pZip             6057 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6063 src/punutil/miniz.c                     mz_zip_reader_end_internal(pZip, MZ_FALSE);
pZip             6064 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             6068 src/punutil/miniz.c             pZip->m_pWrite = mz_zip_file_write_func;
pZip             6069 src/punutil/miniz.c             pZip->m_pNeeds_keepalive = NULL;
pZip             6075 src/punutil/miniz.c             if (pZip->m_pIO_opaque != pZip)
pZip             6076 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6079 src/punutil/miniz.c             pZip->m_pWrite = mz_zip_heap_write_func;
pZip             6080 src/punutil/miniz.c             pZip->m_pNeeds_keepalive = NULL;
pZip             6083 src/punutil/miniz.c         else if (!pZip->m_pWrite)
pZip             6084 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6088 src/punutil/miniz.c         pZip->m_archive_size = pZip->m_central_directory_file_ofs;
pZip             6089 src/punutil/miniz.c         pZip->m_central_directory_file_ofs = 0;
pZip             6094 src/punutil/miniz.c         mz_zip_array_clear(pZip, &pZip->m_pState->m_sorted_central_dir_offsets);
pZip             6096 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_WRITING;
pZip             6101 src/punutil/miniz.c     mz_bool mz_zip_writer_init_from_reader(mz_zip_archive *pZip, const char *pFilename)
pZip             6103 src/punutil/miniz.c         return mz_zip_writer_init_from_reader_v2(pZip, pFilename, 0);
pZip             6107 src/punutil/miniz.c     mz_bool mz_zip_writer_add_mem(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, mz_uint level_and_flags)
pZip             6109 src/punutil/miniz.c         return mz_zip_writer_add_mem_ex(pZip, pArchive_name, pBuf, buf_size, NULL, 0, level_and_flags, 0, 0);
pZip             6167 src/punutil/miniz.c     static mz_bool mz_zip_writer_create_local_dir_header(mz_zip_archive *pZip, mz_uint8 *pDst, mz_uint16 filename_size, mz_uint16 extra_size, mz_uint64 uncomp_size, mz_uint64 comp_size, mz_uint32 uncomp_crc32, mz_uint16 method, mz_uint16 bit_flags, mz_uint16 dos_time, mz_uint16 dos_date)
pZip             6169 src/punutil/miniz.c         (void)pZip;
pZip             6185 src/punutil/miniz.c     static mz_bool mz_zip_writer_create_central_dir_header(mz_zip_archive *pZip, mz_uint8 *pDst,
pZip             6191 src/punutil/miniz.c         (void)pZip;
pZip             6210 src/punutil/miniz.c     static mz_bool mz_zip_writer_add_to_central_dir(mz_zip_archive *pZip, const char *pFilename, mz_uint16 filename_size,
pZip             6217 src/punutil/miniz.c         mz_zip_internal_state *pState = pZip->m_pState;
pZip             6222 src/punutil/miniz.c         if (!pZip->m_pState->m_zip64)
pZip             6225 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE);
pZip             6230 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             6232 src/punutil/miniz.c         if (!mz_zip_writer_create_central_dir_header(pZip, central_dir_header, filename_size, (mz_uint16)(extra_size + user_extra_data_len), comment_size, uncomp_size, comp_size, uncomp_crc32, method, bit_flags, dos_time, dos_date, local_header_ofs, ext_attributes))
pZip             6233 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6235 src/punutil/miniz.c         if ((!mz_zip_array_push_back(pZip, &pState->m_central_dir, central_dir_header, MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)) ||
pZip             6236 src/punutil/miniz.c             (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pFilename, filename_size)) ||
pZip             6237 src/punutil/miniz.c             (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pExtra, extra_size)) ||
pZip             6238 src/punutil/miniz.c             (!mz_zip_array_push_back(pZip, &pState->m_central_dir, user_extra_data, user_extra_data_len)) ||
pZip             6239 src/punutil/miniz.c             (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pComment, comment_size)) ||
pZip             6240 src/punutil/miniz.c             (!mz_zip_array_push_back(pZip, &pState->m_central_dir_offsets, &central_dir_ofs, 1)))
pZip             6243 src/punutil/miniz.c             mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             6244 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6261 src/punutil/miniz.c     static mz_uint mz_zip_writer_compute_padding_needed_for_file_alignment(mz_zip_archive *pZip)
pZip             6264 src/punutil/miniz.c         if (!pZip->m_file_offset_alignment)
pZip             6266 src/punutil/miniz.c         n = (mz_uint32)(pZip->m_archive_size & (pZip->m_file_offset_alignment - 1));
pZip             6267 src/punutil/miniz.c         return (mz_uint)((pZip->m_file_offset_alignment - n) & (pZip->m_file_offset_alignment - 1));
pZip             6270 src/punutil/miniz.c     static mz_bool mz_zip_writer_write_zeros(mz_zip_archive *pZip, mz_uint64 cur_file_ofs, mz_uint32 n)
pZip             6277 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_file_ofs, buf, s) != s)
pZip             6278 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6286 src/punutil/miniz.c     mz_bool mz_zip_writer_add_mem_ex(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags,
pZip             6289 src/punutil/miniz.c         return mz_zip_writer_add_mem_ex_v2(pZip, pArchive_name, pBuf, buf_size, pComment, comment_size, level_and_flags, uncomp_size, uncomp_crc32, NULL, NULL, 0, NULL, 0);
pZip             6292 src/punutil/miniz.c     mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, const void *pComment, mz_uint16 comment_size,
pZip             6298 src/punutil/miniz.c         mz_uint64 local_dir_header_ofs = pZip->m_archive_size, cur_archive_file_ofs = pZip->m_archive_size, comp_size = 0;
pZip             6321 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) || ((buf_size) && (!pBuf)) || (!pArchive_name) || ((comment_size) && (!pComment)) || (level > MZ_UBER_COMPRESSION))
pZip             6322 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6324 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             6328 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT32_MAX)
pZip             6329 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             6333 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT16_MAX)
pZip             6346 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6349 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME);
pZip             6379 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME);
pZip             6381 src/punutil/miniz.c         num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip);
pZip             6385 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             6390 src/punutil/miniz.c             if ((pZip->m_archive_size + num_alignment_padding_bytes + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + archive_name_size + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + archive_name_size + comment_size + user_extra_data_len +
pZip             6405 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6409 src/punutil/miniz.c         if ((!mz_zip_array_ensure_room(pZip, &pState->m_central_dir, MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + archive_name_size + comment_size + (pState->m_zip64 ? MZ_ZIP64_MAX_CENTRAL_EXTRA_FIELD_SIZE : 0))) || (!mz_zip_array_ensure_room(pZip, &pState->m_central_dir_offsets, 1)))
pZip             6410 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6414 src/punutil/miniz.c             if (NULL == (pComp = (tdefl_compressor *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(tdefl_compressor))))
pZip             6415 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6418 src/punutil/miniz.c         if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes))
pZip             6420 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6425 src/punutil/miniz.c         if (pZip->m_file_offset_alignment)
pZip             6427 src/punutil/miniz.c             MZ_ASSERT((local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0);
pZip             6447 src/punutil/miniz.c             if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header, (mz_uint16)archive_name_size, (mz_uint16)(extra_size + user_extra_data_len), 0, 0, 0, method, bit_flags, dos_time, dos_date))
pZip             6448 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6450 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, local_dir_header_ofs, local_dir_header, sizeof(local_dir_header)) != sizeof(local_dir_header))
pZip             6451 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6455 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pArchive_name, archive_name_size) != archive_name_size)
pZip             6457 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6458 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6464 src/punutil/miniz.c                 if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, extra_data, extra_size) != extra_size)
pZip             6465 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6473 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             6474 src/punutil/miniz.c             if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header, (mz_uint16)archive_name_size, (mz_uint16)user_extra_data_len, 0, 0, 0, method, bit_flags, dos_time, dos_date))
pZip             6475 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6477 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, local_dir_header_ofs, local_dir_header, sizeof(local_dir_header)) != sizeof(local_dir_header))
pZip             6478 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6482 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pArchive_name, archive_name_size) != archive_name_size)
pZip             6484 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6485 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6492 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, user_extra_data, user_extra_data_len) != user_extra_data_len)
pZip             6493 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6500 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pBuf, buf_size) != buf_size)
pZip             6502 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6503 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6513 src/punutil/miniz.c             state.m_pZip = pZip;
pZip             6520 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6521 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_COMPRESSION_FAILED);
pZip             6528 src/punutil/miniz.c         pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6543 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             6555 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, local_dir_footer, local_dir_footer_size) != local_dir_footer_size)
pZip             6567 src/punutil/miniz.c         if (!mz_zip_writer_add_to_central_dir(pZip, pArchive_name, (mz_uint16)archive_name_size, pExtra_data, (mz_uint16)extra_size, pComment,
pZip             6572 src/punutil/miniz.c         pZip->m_total_files++;
pZip             6573 src/punutil/miniz.c         pZip->m_archive_size = cur_archive_file_ofs;
pZip             6578 src/punutil/miniz.c     mz_bool mz_zip_writer_add_read_buf_callback(mz_zip_archive *pZip, const char *pArchive_name, mz_file_read_func read_callback, void *callback_opaque, mz_uint64 max_size, const MZ_TIME_T *pFile_time, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags,
pZip             6584 src/punutil/miniz.c         mz_uint64 local_dir_header_ofs, cur_archive_file_ofs = pZip->m_archive_size, uncomp_size = 0, comp_size = 0;
pZip             6603 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) || (!pArchive_name) || ((comment_size) && (!pComment)) || (level > MZ_UBER_COMPRESSION))
pZip             6604 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6606 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             6617 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             6620 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME);
pZip             6624 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT32_MAX)
pZip             6625 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             6629 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT16_MAX)
pZip             6638 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME);
pZip             6640 src/punutil/miniz.c         num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip);
pZip             6644 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             6649 src/punutil/miniz.c             if ((pZip->m_archive_size + num_alignment_padding_bytes + MZ_ZIP_LOCAL_DIR_HEADER_SIZE + archive_name_size + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + archive_name_size + comment_size + user_extra_data_len + pState->m_central_dir.m_size + MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE + 1024 + MZ_ZIP_DATA_DESCRIPTER_SIZE32 + user_extra_data_central_len) > 0xFFFFFFFF)
pZip             6668 src/punutil/miniz.c         if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes))
pZip             6670 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6676 src/punutil/miniz.c         if (pZip->m_file_offset_alignment)
pZip             6678 src/punutil/miniz.c             MZ_ASSERT((cur_archive_file_ofs & (pZip->m_file_offset_alignment - 1)) == 0);
pZip             6702 src/punutil/miniz.c             if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header, (mz_uint16)archive_name_size, (mz_uint16)(extra_size + user_extra_data_len), 0, 0, 0, method, gen_flags, dos_time, dos_date))
pZip             6703 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6705 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, local_dir_header, sizeof(local_dir_header)) != sizeof(local_dir_header))
pZip             6706 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6710 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pArchive_name, archive_name_size) != archive_name_size)
pZip             6712 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6717 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, extra_data, extra_size) != extra_size)
pZip             6718 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6725 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             6726 src/punutil/miniz.c             if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header, (mz_uint16)archive_name_size, (mz_uint16)user_extra_data_len, 0, 0, 0, method, gen_flags, dos_time, dos_date))
pZip             6727 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6729 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, local_dir_header, sizeof(local_dir_header)) != sizeof(local_dir_header))
pZip             6730 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6734 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pArchive_name, archive_name_size) != archive_name_size)
pZip             6736 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6744 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, user_extra_data, user_extra_data_len) != user_extra_data_len)
pZip             6745 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6752 src/punutil/miniz.c             void *pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, MZ_ZIP_MAX_IO_BUF_SIZE);
pZip             6755 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6768 src/punutil/miniz.c                         pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6769 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             6771 src/punutil/miniz.c                     if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pRead_buf, n) != n)
pZip             6773 src/punutil/miniz.c                         pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6774 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6787 src/punutil/miniz.c                 tdefl_compressor *pComp = (tdefl_compressor *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(tdefl_compressor));
pZip             6790 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6791 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6794 src/punutil/miniz.c                 state.m_pZip = pZip;
pZip             6800 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6801 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6802 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6813 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             6820 src/punutil/miniz.c                     if (pZip->m_pNeeds_keepalive != NULL && pZip->m_pNeeds_keepalive(pZip->m_pIO_opaque))
pZip             6834 src/punutil/miniz.c                         mz_zip_set_error(pZip, MZ_ZIP_COMPRESSION_FAILED);
pZip             6839 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pComp);
pZip             6843 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6852 src/punutil/miniz.c             pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf);
pZip             6865 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             6877 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, local_dir_footer, local_dir_footer_size) != local_dir_footer_size)
pZip             6891 src/punutil/miniz.c             if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header,
pZip             6896 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR);
pZip             6900 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_header_file_ofs, local_dir_header, sizeof(local_dir_header)) != sizeof(local_dir_header))
pZip             6901 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6907 src/punutil/miniz.c                 if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_header_file_ofs, pArchive_name, archive_name_size) != archive_name_size)
pZip             6909 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6914 src/punutil/miniz.c                 if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_header_file_ofs, extra_data, extra_size) != extra_size)
pZip             6915 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             6927 src/punutil/miniz.c         if (!mz_zip_writer_add_to_central_dir(pZip, pArchive_name, (mz_uint16)archive_name_size, pExtra_data, (mz_uint16)extra_size, pComment, comment_size,
pZip             6932 src/punutil/miniz.c         pZip->m_total_files++;
pZip             6933 src/punutil/miniz.c         pZip->m_archive_size = cur_archive_file_ofs;
pZip             6951 src/punutil/miniz.c     mz_bool mz_zip_writer_add_cfile(mz_zip_archive *pZip, const char *pArchive_name, MZ_FILE *pSrc_file, mz_uint64 max_size, const MZ_TIME_T *pFile_time, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags,
pZip             6954 src/punutil/miniz.c         return mz_zip_writer_add_read_buf_callback(pZip, pArchive_name, mz_file_read_func_stdio, pSrc_file, max_size, pFile_time, pComment, comment_size, level_and_flags,
pZip             6958 src/punutil/miniz.c     mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, const char *pSrc_filename, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags)
pZip             6971 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_STAT_FAILED);
pZip             6976 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED);
pZip             6982 src/punutil/miniz.c         status = mz_zip_writer_add_cfile(pZip, pArchive_name, pSrc_file, uncomp_size, pFile_time, pComment, comment_size, level_and_flags, NULL, 0, NULL, 0);
pZip             6990 src/punutil/miniz.c     static mz_bool mz_zip_writer_update_zip64_extension_block(mz_zip_array *pNew_ext, mz_zip_archive *pZip, const mz_uint8 *pExt, mz_uint32 ext_len, mz_uint64 *pComp_size, mz_uint64 *pUncomp_size, mz_uint64 *pLocal_header_ofs, mz_uint32 *pDisk_start)
pZip             6993 src/punutil/miniz.c         if (!mz_zip_array_reserve(pZip, pNew_ext, ext_len + 64, MZ_FALSE))
pZip             6994 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             6996 src/punutil/miniz.c         mz_zip_array_resize(pZip, pNew_ext, 0, MZ_FALSE);
pZip             7032 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, pNew_ext, new_ext_block, pDst - new_ext_block))
pZip             7033 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7046 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7053 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7057 src/punutil/miniz.c                     if (!mz_zip_array_push_back(pZip, pNew_ext, pExtra_data, field_total_size))
pZip             7058 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7070 src/punutil/miniz.c     mz_bool mz_zip_writer_add_from_zip_reader(mz_zip_archive *pZip, mz_zip_archive *pSource_zip, mz_uint src_file_index)
pZip             7089 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) || (!pSource_zip->m_pRead))
pZip             7090 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7092 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             7095 src/punutil/miniz.c         if ((pSource_zip->m_pState->m_zip64) && (!pZip->m_pState->m_zip64))
pZip             7096 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7100 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7103 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7112 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             7114 src/punutil/miniz.c         num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip);
pZip             7118 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT16_MAX)
pZip             7119 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             7124 src/punutil/miniz.c             if (pZip->m_total_files == MZ_UINT32_MAX)
pZip             7125 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             7132 src/punutil/miniz.c         cur_dst_file_ofs = pZip->m_archive_size;
pZip             7136 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             7139 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7158 src/punutil/miniz.c             if (!mz_zip_array_resize(pZip, &file_data_array, local_header_extra_len, MZ_FALSE))
pZip             7160 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7165 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &file_data_array);
pZip             7166 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             7177 src/punutil/miniz.c                     mz_zip_array_clear(pZip, &file_data_array);
pZip             7178 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7187 src/punutil/miniz.c                     mz_zip_array_clear(pZip, &file_data_array);
pZip             7188 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7197 src/punutil/miniz.c                         mz_zip_array_clear(pZip, &file_data_array);
pZip             7198 src/punutil/miniz.c                         return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
pZip             7212 src/punutil/miniz.c             mz_zip_array_clear(pZip, &file_data_array);
pZip             7223 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             7227 src/punutil/miniz.c         if (!mz_zip_writer_write_zeros(pZip, cur_dst_file_ofs, num_alignment_padding_bytes))
pZip             7233 src/punutil/miniz.c         if (pZip->m_file_offset_alignment)
pZip             7235 src/punutil/miniz.c             MZ_ASSERT((local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0);
pZip             7239 src/punutil/miniz.c         if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_dst_file_ofs, pLocal_header, MZ_ZIP_LOCAL_DIR_HEADER_SIZE) != MZ_ZIP_LOCAL_DIR_HEADER_SIZE)
pZip             7240 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7245 src/punutil/miniz.c         if (NULL == (pBuf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)MZ_MAX(32U, MZ_MIN((mz_uint64)MZ_ZIP_MAX_IO_BUF_SIZE, src_archive_bytes_remaining)))))
pZip             7246 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7253 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7254 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             7258 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_dst_file_ofs, pBuf, n) != n)
pZip             7260 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7261 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7284 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7285 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             7297 src/punutil/miniz.c                     pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7298 src/punutil/miniz.c                     return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
pZip             7303 src/punutil/miniz.c                 if (pZip->m_pState->m_zip64)
pZip             7325 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_dst_file_ofs, pBuf, n) != n)
pZip             7327 src/punutil/miniz.c                 pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7328 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7334 src/punutil/miniz.c         pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf);
pZip             7353 src/punutil/miniz.c             if (!mz_zip_writer_update_zip64_extension_block(&new_ext_block, pZip, pSrc_ext, src_ext_len, &src_file_stat.m_comp_size, &src_file_stat.m_uncomp_size, &local_dir_header_ofs, NULL))
pZip             7355 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &new_ext_block);
pZip             7361 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, new_central_header, MZ_ZIP_CENTRAL_DIR_HEADER_SIZE))
pZip             7363 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &new_ext_block);
pZip             7364 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7367 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pSrc_central_header + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE, src_filename_len))
pZip             7369 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &new_ext_block);
pZip             7370 src/punutil/miniz.c                 mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7371 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7374 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, new_ext_block.m_p, new_ext_block.m_size))
pZip             7376 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &new_ext_block);
pZip             7377 src/punutil/miniz.c                 mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7378 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7381 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pSrc_central_header + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + src_filename_len + src_ext_len, src_comment_len))
pZip             7383 src/punutil/miniz.c                 mz_zip_array_clear(pZip, &new_ext_block);
pZip             7384 src/punutil/miniz.c                 mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7385 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7388 src/punutil/miniz.c             mz_zip_array_clear(pZip, &new_ext_block);
pZip             7394 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             7397 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE);
pZip             7401 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, new_central_header, MZ_ZIP_CENTRAL_DIR_HEADER_SIZE))
pZip             7402 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7404 src/punutil/miniz.c             if (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pSrc_central_header + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE, src_central_dir_following_data_size))
pZip             7406 src/punutil/miniz.c                 mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7407 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7415 src/punutil/miniz.c             mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7416 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
pZip             7420 src/punutil/miniz.c         if (!mz_zip_array_push_back(pZip, &pState->m_central_dir_offsets, &n, 1))
pZip             7422 src/punutil/miniz.c             mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE);
pZip             7423 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
pZip             7426 src/punutil/miniz.c         pZip->m_total_files++;
pZip             7427 src/punutil/miniz.c         pZip->m_archive_size = cur_dst_file_ofs;
pZip             7432 src/punutil/miniz.c     mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip)
pZip             7438 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING))
pZip             7439 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7441 src/punutil/miniz.c         pState = pZip->m_pState;
pZip             7446 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             7450 src/punutil/miniz.c             if ((pZip->m_total_files > MZ_UINT16_MAX) || ((pZip->m_archive_size + pState->m_central_dir.m_size + MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) > MZ_UINT32_MAX))
pZip             7451 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
pZip             7456 src/punutil/miniz.c         if (pZip->m_total_files)
pZip             7459 src/punutil/miniz.c             central_dir_ofs = pZip->m_archive_size;
pZip             7461 src/punutil/miniz.c             pZip->m_central_directory_file_ofs = central_dir_ofs;
pZip             7462 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, central_dir_ofs, pState->m_central_dir.m_p, (size_t)central_dir_size) != central_dir_size)
pZip             7463 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7465 src/punutil/miniz.c             pZip->m_archive_size += central_dir_size;
pZip             7471 src/punutil/miniz.c             mz_uint64 rel_ofs_to_zip64_ecdr = pZip->m_archive_size;
pZip             7478 src/punutil/miniz.c             MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS, pZip->m_total_files);
pZip             7479 src/punutil/miniz.c             MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS, pZip->m_total_files);
pZip             7482 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, pZip->m_archive_size, hdr, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) != MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)
pZip             7483 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7485 src/punutil/miniz.c             pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE;
pZip             7492 src/punutil/miniz.c             if (pZip->m_pWrite(pZip->m_pIO_opaque, pZip->m_archive_size, hdr, MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) != MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE)
pZip             7493 src/punutil/miniz.c                 return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7495 src/punutil/miniz.c             pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE;
pZip             7501 src/punutil/miniz.c         MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files));
pZip             7502 src/punutil/miniz.c         MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files));
pZip             7506 src/punutil/miniz.c         if (pZip->m_pWrite(pZip->m_pIO_opaque, pZip->m_archive_size, hdr, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) != MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
pZip             7507 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED);
pZip             7511 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED);
pZip             7514 src/punutil/miniz.c         pZip->m_archive_size += MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE;
pZip             7516 src/punutil/miniz.c         pZip->m_zip_mode = MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED;
pZip             7520 src/punutil/miniz.c     mz_bool mz_zip_writer_finalize_heap_archive(mz_zip_archive *pZip, void **ppBuf, size_t *pSize)
pZip             7523 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7528 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             7529 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7531 src/punutil/miniz.c         if (pZip->m_pWrite != mz_zip_heap_write_func)
pZip             7532 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7534 src/punutil/miniz.c         if (!mz_zip_writer_finalize_archive(pZip))
pZip             7537 src/punutil/miniz.c         *ppBuf = pZip->m_pState->m_pMem;
pZip             7538 src/punutil/miniz.c         *pSize = pZip->m_pState->m_mem_size;
pZip             7539 src/punutil/miniz.c         pZip->m_pState->m_pMem = NULL;
pZip             7540 src/punutil/miniz.c         pZip->m_pState->m_mem_size = pZip->m_pState->m_mem_capacity = 0;
pZip             7545 src/punutil/miniz.c     mz_bool mz_zip_writer_end(mz_zip_archive *pZip)
pZip             7547 src/punutil/miniz.c         return mz_zip_writer_end_internal(pZip, MZ_TRUE);
pZip             7699 src/punutil/miniz.c     mz_zip_mode mz_zip_get_mode(mz_zip_archive *pZip)
pZip             7701 src/punutil/miniz.c         return pZip ? pZip->m_zip_mode : MZ_ZIP_MODE_INVALID;
pZip             7704 src/punutil/miniz.c     mz_zip_type mz_zip_get_type(mz_zip_archive *pZip)
pZip             7706 src/punutil/miniz.c         return pZip ? pZip->m_zip_type : MZ_ZIP_TYPE_INVALID;
pZip             7709 src/punutil/miniz.c     mz_zip_error mz_zip_set_last_error(mz_zip_archive *pZip, mz_zip_error err_num)
pZip             7713 src/punutil/miniz.c         if (!pZip)
pZip             7716 src/punutil/miniz.c         prev_err = pZip->m_last_error;
pZip             7718 src/punutil/miniz.c         pZip->m_last_error = err_num;
pZip             7722 src/punutil/miniz.c     mz_zip_error mz_zip_peek_last_error(mz_zip_archive *pZip)
pZip             7724 src/punutil/miniz.c         if (!pZip)
pZip             7727 src/punutil/miniz.c         return pZip->m_last_error;
pZip             7730 src/punutil/miniz.c     mz_zip_error mz_zip_clear_last_error(mz_zip_archive *pZip)
pZip             7732 src/punutil/miniz.c         return mz_zip_set_last_error(pZip, MZ_ZIP_NO_ERROR);
pZip             7735 src/punutil/miniz.c     mz_zip_error mz_zip_get_last_error(mz_zip_archive *pZip)
pZip             7739 src/punutil/miniz.c         if (!pZip)
pZip             7742 src/punutil/miniz.c         prev_err = pZip->m_last_error;
pZip             7744 src/punutil/miniz.c         pZip->m_last_error = MZ_ZIP_NO_ERROR;
pZip             7826 src/punutil/miniz.c     mz_bool mz_zip_is_zip64(mz_zip_archive *pZip)
pZip             7828 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             7831 src/punutil/miniz.c         return pZip->m_pState->m_zip64;
pZip             7834 src/punutil/miniz.c     size_t mz_zip_get_central_dir_size(mz_zip_archive *pZip)
pZip             7836 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             7839 src/punutil/miniz.c         return pZip->m_pState->m_central_dir.m_size;
pZip             7842 src/punutil/miniz.c     mz_uint mz_zip_reader_get_num_files(mz_zip_archive *pZip)
pZip             7844 src/punutil/miniz.c         return pZip ? pZip->m_total_files : 0;
pZip             7847 src/punutil/miniz.c     mz_uint64 mz_zip_get_archive_size(mz_zip_archive *pZip)
pZip             7849 src/punutil/miniz.c         if (!pZip)
pZip             7851 src/punutil/miniz.c         return pZip->m_archive_size;
pZip             7854 src/punutil/miniz.c     mz_uint64 mz_zip_get_archive_file_start_offset(mz_zip_archive *pZip)
pZip             7856 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             7858 src/punutil/miniz.c         return pZip->m_pState->m_file_archive_start_ofs;
pZip             7861 src/punutil/miniz.c     MZ_FILE *mz_zip_get_cfile(mz_zip_archive *pZip)
pZip             7863 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState))
pZip             7865 src/punutil/miniz.c         return pZip->m_pState->m_pFile;
pZip             7868 src/punutil/miniz.c     size_t mz_zip_read_archive_data(mz_zip_archive *pZip, mz_uint64 file_ofs, void *pBuf, size_t n)
pZip             7870 src/punutil/miniz.c         if ((!pZip) || (!pZip->m_pState) || (!pBuf) || (!pZip->m_pRead))
pZip             7871 src/punutil/miniz.c             return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7873 src/punutil/miniz.c         return pZip->m_pRead(pZip->m_pIO_opaque, file_ofs, pBuf, n);
pZip             7876 src/punutil/miniz.c     mz_uint mz_zip_reader_get_filename(mz_zip_archive *pZip, mz_uint file_index, char *pFilename, mz_uint filename_buf_size)
pZip             7879 src/punutil/miniz.c         const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index);
pZip             7884 src/punutil/miniz.c             mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER);
pZip             7897 src/punutil/miniz.c     mz_bool mz_zip_reader_file_stat(mz_zip_archive *pZip, mz_uint file_index, mz_zip_archive_file_stat *pStat)
pZip             7899 src/punutil/miniz.c         return mz_zip_file_stat_internal(pZip, file_index, mz_zip_get_cdh(pZip, file_index), pStat, NULL);
pZip             7902 src/punutil/miniz.c     mz_bool mz_zip_end(mz_zip_archive *pZip)
pZip             7904 src/punutil/miniz.c         if (!pZip)
pZip             7907 src/punutil/miniz.c         if (pZip->m_zip_mode == MZ_ZIP_MODE_READING)
pZip             7908 src/punutil/miniz.c             return mz_zip_reader_end(pZip);
pZip             7910 src/punutil/miniz.c         else if ((pZip->m_zip_mode == MZ_ZIP_MODE_WRITING) || (pZip->m_zip_mode == MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED))
pZip             7911 src/punutil/miniz.c             return mz_zip_writer_end(pZip);
pZip             1244 src/punutil/miniz.h         mz_zip_archive *pZip;
pZip             1270 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_init(mz_zip_archive *pZip, mz_uint64 size, mz_uint flags);
pZip             1272 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_init_mem(mz_zip_archive *pZip, const void *pMem, size_t size, mz_uint flags);
pZip             1278 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint32 flags);
pZip             1279 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_init_file_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint flags, mz_uint64 file_start_ofs, mz_uint64 archive_size);
pZip             1284 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint64 archive_size, mz_uint flags);
pZip             1288 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_end(mz_zip_archive *pZip);
pZip             1294 src/punutil/miniz.h     MINIZ_EXPORT void mz_zip_zero_struct(mz_zip_archive *pZip);
pZip             1296 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_mode mz_zip_get_mode(mz_zip_archive *pZip);
pZip             1297 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_type mz_zip_get_type(mz_zip_archive *pZip);
pZip             1300 src/punutil/miniz.h     MINIZ_EXPORT mz_uint mz_zip_reader_get_num_files(mz_zip_archive *pZip);
pZip             1302 src/punutil/miniz.h     MINIZ_EXPORT mz_uint64 mz_zip_get_archive_size(mz_zip_archive *pZip);
pZip             1303 src/punutil/miniz.h     MINIZ_EXPORT mz_uint64 mz_zip_get_archive_file_start_offset(mz_zip_archive *pZip);
pZip             1304 src/punutil/miniz.h     MINIZ_EXPORT MZ_FILE *mz_zip_get_cfile(mz_zip_archive *pZip);
pZip             1307 src/punutil/miniz.h     MINIZ_EXPORT size_t mz_zip_read_archive_data(mz_zip_archive *pZip, mz_uint64 file_ofs, void *pBuf, size_t n);
pZip             1311 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_error mz_zip_set_last_error(mz_zip_archive *pZip, mz_zip_error err_num);
pZip             1312 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_error mz_zip_peek_last_error(mz_zip_archive *pZip);
pZip             1313 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_error mz_zip_clear_last_error(mz_zip_archive *pZip);
pZip             1314 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_error mz_zip_get_last_error(mz_zip_archive *pZip);
pZip             1318 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_is_file_a_directory(mz_zip_archive *pZip, mz_uint file_index);
pZip             1321 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_is_file_encrypted(mz_zip_archive *pZip, mz_uint file_index);
pZip             1324 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_is_file_supported(mz_zip_archive *pZip, mz_uint file_index);
pZip             1328 src/punutil/miniz.h     MINIZ_EXPORT mz_uint mz_zip_reader_get_filename(mz_zip_archive *pZip, mz_uint file_index, char *pFilename, mz_uint filename_buf_size);
pZip             1333 src/punutil/miniz.h     MINIZ_EXPORT int mz_zip_reader_locate_file(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags);
pZip             1334 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_locate_file_v2(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags, mz_uint32 *file_index);
pZip             1337 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_file_stat(mz_zip_archive *pZip, mz_uint file_index, mz_zip_archive_file_stat *pStat);
pZip             1341 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_is_zip64(mz_zip_archive *pZip);
pZip             1345 src/punutil/miniz.h     MINIZ_EXPORT size_t mz_zip_get_central_dir_size(mz_zip_archive *pZip);
pZip             1349 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_to_mem_no_alloc(mz_zip_archive *pZip, mz_uint file_index, void *pBuf, size_t buf_size, mz_uint flags, void *pUser_read_buf, size_t user_read_buf_size);
pZip             1350 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_file_to_mem_no_alloc(mz_zip_archive *pZip, const char *pFilename, void *pBuf, size_t buf_size, mz_uint flags, void *pUser_read_buf, size_t user_read_buf_size);
pZip             1353 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_to_mem(mz_zip_archive *pZip, mz_uint file_index, void *pBuf, size_t buf_size, mz_uint flags);
pZip             1354 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_file_to_mem(mz_zip_archive *pZip, const char *pFilename, void *pBuf, size_t buf_size, mz_uint flags);
pZip             1359 src/punutil/miniz.h     MINIZ_EXPORT void *mz_zip_reader_extract_to_heap(mz_zip_archive *pZip, mz_uint file_index, size_t *pSize, mz_uint flags);
pZip             1360 src/punutil/miniz.h     MINIZ_EXPORT void *mz_zip_reader_extract_file_to_heap(mz_zip_archive *pZip, const char *pFilename, size_t *pSize, mz_uint flags);
pZip             1363 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_to_callback(mz_zip_archive *pZip, mz_uint file_index, mz_file_write_func pCallback, void *pOpaque, mz_uint flags);
pZip             1364 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_file_to_callback(mz_zip_archive *pZip, const char *pFilename, mz_file_write_func pCallback, void *pOpaque, mz_uint flags);
pZip             1367 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_reader_extract_iter_state *mz_zip_reader_extract_iter_new(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags);
pZip             1368 src/punutil/miniz.h     MINIZ_EXPORT mz_zip_reader_extract_iter_state *mz_zip_reader_extract_file_iter_new(mz_zip_archive *pZip, const char *pFilename, mz_uint flags);
pZip             1375 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_to_file(mz_zip_archive *pZip, mz_uint file_index, const char *pDst_filename, mz_uint flags);
pZip             1376 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_file_to_file(mz_zip_archive *pZip, const char *pArchive_filename, const char *pDst_filename, mz_uint flags);
pZip             1379 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_to_cfile(mz_zip_archive *pZip, mz_uint file_index, MZ_FILE *File, mz_uint flags);
pZip             1380 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_reader_extract_file_to_cfile(mz_zip_archive *pZip, const char *pArchive_filename, MZ_FILE *pFile, mz_uint flags);
pZip             1386 src/punutil/miniz.h 
pZip             1387 src/punutil/miniz.h 
pZip             1388 src/punutil/miniz.h 
pZip             1389 src/punutil/miniz.h 
pZip             1390 src/punutil/miniz.h 
pZip             1391 src/punutil/miniz.h 
pZip             1396 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_validate_file(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags);
pZip             1399 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_validate_archive(mz_zip_archive *pZip, mz_uint flags);
pZip             1408 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_end(mz_zip_archive *pZip);
pZip             1417 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init(mz_zip_archive *pZip, mz_uint64 existing_size);
pZip             1418 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_v2(mz_zip_archive *pZip, mz_uint64 existing_size, mz_uint flags);
pZip             1420 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_heap(mz_zip_archive *pZip, size_t size_to_reserve_at_beginning, size_t initial_allocation_size);
pZip             1421 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_heap_v2(mz_zip_archive *pZip, size_t size_to_reserve_at_beginning, size_t initial_allocation_size, mz_uint flags);
pZip             1424 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint64 size_to_reserve_at_beginning);
pZip             1425 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_file_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint64 size_to_reserve_at_beginning, mz_uint flags);
pZip             1426 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint flags);
pZip             1435 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_from_reader(mz_zip_archive *pZip, const char *pFilename);
pZip             1436 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_init_from_reader_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint flags);
pZip             1441 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_mem(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, mz_uint level_and_flags);
pZip             1445 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_mem_ex(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags,
pZip             1448 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_name, const void *pBuf, size_t buf_size, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags,
pZip             1454 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_read_buf_callback(mz_zip_archive *pZip, const char *pArchive_name, mz_file_read_func read_callback, void *callback_opaque, mz_uint64 max_size,
pZip             1461 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, const char *pSrc_filename, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags);
pZip             1464 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_cfile(mz_zip_archive *pZip, const char *pArchive_name, MZ_FILE *pSrc_file, mz_uint64 max_size,
pZip             1471 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_add_from_zip_reader(mz_zip_archive *pZip, mz_zip_archive *pSource_zip, mz_uint src_file_index);
pZip             1476 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip);
pZip             1480 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_finalize_heap_archive(mz_zip_archive *pZip, void **ppBuf, size_t *pSize);
pZip             1484 src/punutil/miniz.h     MINIZ_EXPORT mz_bool mz_zip_writer_end(mz_zip_archive *pZip);