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, ¢ral_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);