pZip 3367 src/punutil/miniz.c static MZ_FORCEINLINE void mz_zip_array_clear(mz_zip_archive *pZip, mz_zip_array *pArray) pZip 3369 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pArray->m_p); pZip 3373 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 3386 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 3393 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 3397 src/punutil/miniz.c if (!mz_zip_array_ensure_capacity(pZip, pArray, new_capacity, growing)) pZip 3403 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 3407 src/punutil/miniz.c if (!mz_zip_array_ensure_capacity(pZip, pArray, new_size, growing)) pZip 3414 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 3416 src/punutil/miniz.c return mz_zip_array_reserve(pZip, pArray, pArray->m_size + n, MZ_TRUE); pZip 3419 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 3422 src/punutil/miniz.c if (!mz_zip_array_resize(pZip, pArray, orig_size + n, MZ_TRUE)) pZip 3495 src/punutil/miniz.c static MZ_FORCEINLINE mz_bool mz_zip_set_error(mz_zip_archive *pZip, mz_zip_error err_num) pZip 3497 src/punutil/miniz.c if (pZip) pZip 3498 src/punutil/miniz.c pZip->m_last_error = err_num; pZip 3502 src/punutil/miniz.c static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip, mz_uint flags) pZip 3505 src/punutil/miniz.c if ((!pZip) || (pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_INVALID)) pZip 3506 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 3508 src/punutil/miniz.c if (!pZip->m_pAlloc) pZip 3509 src/punutil/miniz.c pZip->m_pAlloc = miniz_def_alloc_func; pZip 3510 src/punutil/miniz.c if (!pZip->m_pFree) pZip 3511 src/punutil/miniz.c pZip->m_pFree = miniz_def_free_func; pZip 3512 src/punutil/miniz.c if (!pZip->m_pRealloc) pZip 3513 src/punutil/miniz.c pZip->m_pRealloc = miniz_def_realloc_func; pZip 3515 src/punutil/miniz.c pZip->m_archive_size = 0; pZip 3516 src/punutil/miniz.c pZip->m_central_directory_file_ofs = 0; pZip 3517 src/punutil/miniz.c pZip->m_total_files = 0; pZip 3518 src/punutil/miniz.c pZip->m_last_error = MZ_ZIP_NO_ERROR; pZip 3520 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 3521 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 3523 src/punutil/miniz.c memset(pZip->m_pState, 0, sizeof(mz_zip_internal_state)); pZip 3524 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir, sizeof(mz_uint8)); pZip 3525 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir_offsets, sizeof(mz_uint32)); pZip 3526 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_sorted_central_dir_offsets, sizeof(mz_uint32)); pZip 3527 src/punutil/miniz.c pZip->m_pState->m_init_flags = flags; pZip 3528 src/punutil/miniz.c pZip->m_pState->m_zip64 = MZ_FALSE; pZip 3529 src/punutil/miniz.c pZip->m_pState->m_zip64_has_extended_info_fields = MZ_FALSE; pZip 3531 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_READING; pZip 3565 src/punutil/miniz.c static void mz_zip_reader_sort_central_dir_offsets_by_filename(mz_zip_archive *pZip) pZip 3567 src/punutil/miniz.c mz_zip_internal_state *pState = pZip->m_pState; pZip 3572 src/punutil/miniz.c const mz_uint32 size = pZip->m_total_files; pZip 3617 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 3624 src/punutil/miniz.c if (pZip->m_archive_size < record_size) pZip 3628 src/punutil/miniz.c cur_file_ofs = MZ_MAX((mz_int64)pZip->m_archive_size - (mz_int64)sizeof(buf_u32), 0); pZip 3631 src/punutil/miniz.c int i, n = (int)MZ_MIN(sizeof(buf_u32), pZip->m_archive_size - cur_file_ofs); pZip 3633 src/punutil/miniz.c if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, n) != (mz_uint)n) pZip 3641 src/punutil/miniz.c if ((pZip->m_archive_size - (cur_file_ofs + i)) >= record_size) pZip 3653 src/punutil/miniz.c if ((!cur_file_ofs) || ((pZip->m_archive_size - cur_file_ofs) >= ((mz_uint64)(MZ_UINT16_MAX) + record_size))) pZip 3663 src/punutil/miniz.c static mz_bool mz_zip_reader_eocd64_valid(mz_zip_archive *pZip, uint64_t offset, uint8_t *buf) pZip 3665 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 3676 src/punutil/miniz.c static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, mz_uint flags) pZip 3695 src/punutil/miniz.c if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) pZip 3696 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 3698 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 3699 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FAILED_FINDING_CENTRAL_DIR); pZip 3703 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 3704 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 3707 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 3711 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 3715 src/punutil/miniz.c pZip->m_pState->m_zip64 = MZ_TRUE; pZip 3720 src/punutil/miniz.c if (pZip->m_pState->m_zip64) pZip 3726 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 3732 src/punutil/miniz.c if (!mz_zip_reader_eocd64_valid(pZip, zip64_end_of_central_dir_ofs, pZip 3740 src/punutil/miniz.c (pZip->m_archive_size - MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)) pZip 3741 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 3743 src/punutil/miniz.c if (!mz_zip_reader_eocd64_valid(pZip, zip64_end_of_central_dir_ofs, pZip 3745 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 3749 src/punutil/miniz.c pZip->m_total_files = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS); pZip 3756 src/punutil/miniz.c if (pZip->m_pState->m_zip64) pZip 3765 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3768 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); pZip 3772 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 3774 src/punutil/miniz.c pZip->m_total_files = (mz_uint32)zip64_cdir_total_entries; pZip 3777 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 3783 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 3794 src/punutil/miniz.c if (pZip->m_total_files != cdir_entries_on_this_disk) pZip 3795 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); pZip 3798 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); pZip 3800 src/punutil/miniz.c if (cdir_size < (mz_uint64)pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) pZip 3801 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3803 src/punutil/miniz.c if ((cdir_ofs + (mz_uint64)cdir_size) > pZip->m_archive_size) pZip 3804 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3807 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3812 src/punutil/miniz.c if (pZip->m_pState->m_zip64) pZip 3816 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3823 src/punutil/miniz.c if ((pZip->m_zip_type == MZ_ZIP_TYPE_FILE || pZip->m_zip_type == MZ_ZIP_TYPE_CFILE || pZip 3824 src/punutil/miniz.c pZip->m_zip_type == MZ_ZIP_TYPE_USER) && pZip->m_pState->m_file_archive_start_ofs == 0) pZip 3826 src/punutil/miniz.c pZip->m_pState->m_file_archive_start_ofs = archive_ofs; pZip 3827 src/punutil/miniz.c pZip->m_archive_size -= archive_ofs; pZip 3830 src/punutil/miniz.c pZip->m_central_directory_file_ofs = cdir_ofs; pZip 3832 src/punutil/miniz.c if (pZip->m_total_files) pZip 3836 src/punutil/miniz.c if ((!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir, cdir_size, MZ_FALSE)) || pZip 3837 src/punutil/miniz.c (!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir_offsets, pZip->m_total_files, MZ_FALSE))) pZip 3838 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 3842 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 3843 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 3846 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 3847 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 3850 src/punutil/miniz.c p = (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p; pZip 3851 src/punutil/miniz.c for (n = cdir_size, i = 0; i < pZip->m_total_files; ++i) pZip 3857 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3859 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 3862 src/punutil/miniz.c MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_sorted_central_dir_offsets, mz_uint32, i) = i; pZip 3870 src/punutil/miniz.c if ((!pZip->m_pState->m_zip64_has_extended_info_fields) && pZip 3886 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 3888 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 3891 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 3909 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3918 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3924 src/punutil/miniz.c pZip->m_pState->m_zip64 = MZ_TRUE; pZip 3925 src/punutil/miniz.c pZip->m_pState->m_zip64_has_extended_info_fields = MZ_TRUE; pZip 3941 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3946 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK); pZip 3950 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 3951 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3956 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 3959 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 3967 src/punutil/miniz.c mz_zip_reader_sort_central_dir_offsets_by_filename(pZip); pZip 3972 src/punutil/miniz.c void mz_zip_zero_struct(mz_zip_archive *pZip) pZip 3974 src/punutil/miniz.c if (pZip) pZip 3975 src/punutil/miniz.c MZ_CLEAR_PTR(pZip); pZip 3978 src/punutil/miniz.c static mz_bool mz_zip_reader_end_internal(mz_zip_archive *pZip, mz_bool set_last_error) pZip 3982 src/punutil/miniz.c if (!pZip) pZip 3985 src/punutil/miniz.c if ((!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING)) pZip 3988 src/punutil/miniz.c pZip->m_last_error = MZ_ZIP_INVALID_PARAMETER; pZip 3993 src/punutil/miniz.c if (pZip->m_pState) pZip 3995 src/punutil/miniz.c mz_zip_internal_state *pState = pZip->m_pState; pZip 3996 src/punutil/miniz.c pZip->m_pState = NULL; pZip 3998 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_central_dir); pZip 3999 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_central_dir_offsets); pZip 4000 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_sorted_central_dir_offsets); pZip 4005 src/punutil/miniz.c if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE) pZip 4010 src/punutil/miniz.c pZip->m_last_error = MZ_ZIP_FILE_CLOSE_FAILED; pZip 4018 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 4020 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_INVALID; pZip 4025 src/punutil/miniz.c mz_bool mz_zip_reader_end(mz_zip_archive *pZip) pZip 4027 src/punutil/miniz.c return mz_zip_reader_end_internal(pZip, MZ_TRUE); pZip 4029 src/punutil/miniz.c mz_bool mz_zip_reader_init(mz_zip_archive *pZip, mz_uint64 size, mz_uint flags) pZip 4031 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pRead)) pZip 4032 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4034 src/punutil/miniz.c if (!mz_zip_reader_init_internal(pZip, flags)) pZip 4037 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_USER; pZip 4038 src/punutil/miniz.c pZip->m_archive_size = size; pZip 4040 src/punutil/miniz.c if (!mz_zip_reader_read_central_dir(pZip, flags)) pZip 4042 src/punutil/miniz.c mz_zip_reader_end_internal(pZip, MZ_FALSE); pZip 4051 src/punutil/miniz.c mz_zip_archive *pZip = (mz_zip_archive *)pOpaque; pZip 4052 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 4053 src/punutil/miniz.c memcpy(pBuf, (const mz_uint8 *)pZip->m_pState->m_pMem + file_ofs, s); pZip 4057 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 4060 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4063 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 4065 src/punutil/miniz.c if (!mz_zip_reader_init_internal(pZip, flags)) pZip 4068 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_MEMORY; pZip 4069 src/punutil/miniz.c pZip->m_archive_size = size; pZip 4070 src/punutil/miniz.c pZip->m_pRead = mz_zip_mem_read_func; pZip 4071 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 4072 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 4075 src/punutil/miniz.c pZip->m_pState->m_pMem = const_cast<void *>(pMem); pZip 4077 src/punutil/miniz.c pZip->m_pState->m_pMem = (void *)pMem; pZip 4080 src/punutil/miniz.c pZip->m_pState->m_mem_size = size; pZip 4082 src/punutil/miniz.c if (!mz_zip_reader_read_central_dir(pZip, flags)) pZip 4084 src/punutil/miniz.c mz_zip_reader_end_internal(pZip, MZ_FALSE); pZip 4094 src/punutil/miniz.c mz_zip_archive *pZip = (mz_zip_archive *)pOpaque; pZip 4095 src/punutil/miniz.c mz_int64 cur_ofs = MZ_FTELL64(pZip->m_pState->m_pFile); pZip 4097 src/punutil/miniz.c file_ofs += pZip->m_pState->m_file_archive_start_ofs; pZip 4099 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 4102 src/punutil/miniz.c return MZ_FREAD(pBuf, 1, n, pZip->m_pState->m_pFile); pZip 4105 src/punutil/miniz.c mz_bool mz_zip_reader_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint32 flags) pZip 4107 src/punutil/miniz.c return mz_zip_reader_init_file_v2(pZip, pFilename, flags, 0, 0); pZip 4110 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 4115 src/punutil/miniz.c if ((!pZip) || (!pFilename) || ((archive_size) && (archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE))) pZip 4116 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4120 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 4128 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED); pZip 4139 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 4142 src/punutil/miniz.c if (!mz_zip_reader_init_internal(pZip, flags)) pZip 4148 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_FILE; pZip 4149 src/punutil/miniz.c pZip->m_pRead = mz_zip_file_read_func; pZip 4150 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 4151 src/punutil/miniz.c pZip->m_pState->m_pFile = pFile; pZip 4152 src/punutil/miniz.c pZip->m_archive_size = file_size; pZip 4153 src/punutil/miniz.c pZip->m_pState->m_file_archive_start_ofs = file_start_ofs; pZip 4155 src/punutil/miniz.c if (!mz_zip_reader_read_central_dir(pZip, flags)) pZip 4157 src/punutil/miniz.c mz_zip_reader_end_internal(pZip, MZ_FALSE); pZip 4164 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 4168 src/punutil/miniz.c if ((!pZip) || (!pFile)) pZip 4169 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 4176 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED); pZip 4181 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE); pZip 4184 src/punutil/miniz.c if (!mz_zip_reader_init_internal(pZip, flags)) pZip 4187 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_CFILE; pZip 4188 src/punutil/miniz.c pZip->m_pRead = mz_zip_file_read_func; pZip 4190 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 4191 src/punutil/miniz.c pZip->m_pState->m_pFile = pFile; pZip 4192 src/punutil/miniz.c pZip->m_archive_size = archive_size; pZip 4193 src/punutil/miniz.c pZip->m_pState->m_file_archive_start_ofs = cur_file_ofs; pZip 4195 src/punutil/miniz.c if (!mz_zip_reader_read_central_dir(pZip, flags)) pZip 4197 src/punutil/miniz.c mz_zip_reader_end_internal(pZip, MZ_FALSE); pZip 4206 src/punutil/miniz.c static MZ_FORCEINLINE const mz_uint8 *mz_zip_get_cdh(mz_zip_archive *pZip, mz_uint file_index) pZip 4208 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (file_index >= pZip->m_total_files)) pZip 4210 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 4213 src/punutil/miniz.c mz_bool mz_zip_reader_is_file_encrypted(mz_zip_archive *pZip, mz_uint file_index) pZip 4216 src/punutil/miniz.c const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index); pZip 4219 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4227 src/punutil/miniz.c mz_bool mz_zip_reader_is_file_supported(mz_zip_archive *pZip, mz_uint file_index) pZip 4232 src/punutil/miniz.c const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index); pZip 4235 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4244 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD); pZip 4250 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 4256 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); pZip 4263 src/punutil/miniz.c mz_bool mz_zip_reader_is_file_a_directory(mz_zip_archive *pZip, mz_uint file_index) pZip 4266 src/punutil/miniz.c const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index); pZip 4269 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4295 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 4304 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4308 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 4336 src/punutil/miniz.c pStat->m_is_directory = mz_zip_reader_is_file_a_directory(pZip, file_index); pZip 4337 src/punutil/miniz.c pStat->m_is_encrypted = mz_zip_reader_is_file_encrypted(pZip, file_index); pZip 4338 src/punutil/miniz.c pStat->m_is_supported = mz_zip_reader_is_file_supported(pZip, file_index); pZip 4357 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4363 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 4386 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4396 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4443 src/punutil/miniz.c static mz_bool mz_zip_locate_file_binary_search(mz_zip_archive *pZip, const char *pFilename, mz_uint32 *pIndex) pZip 4445 src/punutil/miniz.c mz_zip_internal_state *pState = pZip->m_pState; pZip 4449 src/punutil/miniz.c const mz_uint32 size = pZip->m_total_files; pZip 4480 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_NOT_FOUND); pZip 4483 src/punutil/miniz.c int mz_zip_reader_locate_file(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags) pZip 4486 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pName, pComment, flags, &index)) pZip 4492 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 4500 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (!pName)) pZip 4501 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4504 src/punutil/miniz.c if (((pZip->m_pState->m_init_flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0) && pZip 4505 src/punutil/miniz.c (pZip->m_zip_mode == MZ_ZIP_MODE_READING) && pZip 4506 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 4508 src/punutil/miniz.c return mz_zip_locate_file_binary_search(pZip, pName, pIndex); pZip 4514 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4518 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4520 src/punutil/miniz.c for (file_index = 0; file_index < pZip->m_total_files; file_index++) pZip 4522 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 4554 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_NOT_FOUND); pZip 4557 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 4567 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || ((buf_size) && (!pBuf)) || ((user_read_buf_size) && (!pUser_read_buf)) || (!pZip->m_pRead)) pZip 4568 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4574 src/punutil/miniz.c else if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) pZip 4583 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 4587 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD); pZip 4592 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_BUF_TOO_SMALL); pZip 4596 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 4597 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 4600 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4603 src/punutil/miniz.c if ((cur_file_ofs + file_stat.m_comp_size) > pZip->m_archive_size) pZip 4604 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4609 src/punutil/miniz.c if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, (size_t)needed_size) != needed_size) pZip 4610 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 4616 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_CRC_CHECK_FAILED); pZip 4626 src/punutil/miniz.c if (pZip->m_pState->m_pMem) pZip 4629 src/punutil/miniz.c pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + cur_file_ofs; pZip 4648 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 4650 src/punutil/miniz.c if (NULL == (pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)read_buf_size))) pZip 4651 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 4661 src/punutil/miniz.c if ((!read_buf_avail) && (!pZip->m_pState->m_pMem)) pZip 4664 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 4667 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED); pZip 4686 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE); pZip 4692 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_CRC_CHECK_FAILED); pZip 4698 src/punutil/miniz.c if ((!pZip->m_pState->m_pMem) && (!pUser_read_buf)) pZip 4699 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 4704 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 4706 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 4709 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 4712 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index)) pZip 4714 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 4717 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 4719 src/punutil/miniz.c return mz_zip_reader_extract_to_mem_no_alloc1(pZip, file_index, pBuf, buf_size, flags, NULL, 0, NULL); pZip 4722 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 4724 src/punutil/miniz.c return mz_zip_reader_extract_file_to_mem_no_alloc(pZip, pFilename, pBuf, buf_size, flags, NULL, 0); pZip 4727 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 4736 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) pZip 4742 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 4746 src/punutil/miniz.c if (NULL == (pBuf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)alloc_size))) pZip 4748 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 4752 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 4754 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 4763 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 4766 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index)) pZip 4772 src/punutil/miniz.c return mz_zip_reader_extract_to_heap(pZip, file_index, pSize, flags); pZip 4775 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 4788 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (!pCallback) || (!pZip->m_pRead)) pZip 4789 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 4791 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) pZip 4800 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 4804 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD); pZip 4808 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 4809 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 4812 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4815 src/punutil/miniz.c if ((cur_file_ofs + file_stat.m_comp_size) > pZip->m_archive_size) pZip 4816 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 4819 src/punutil/miniz.c if (pZip->m_pState->m_pMem) pZip 4821 src/punutil/miniz.c pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + cur_file_ofs; pZip 4828 src/punutil/miniz.c if (NULL == (pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)read_buf_size))) pZip 4829 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 4838 src/punutil/miniz.c if (pZip->m_pState->m_pMem) pZip 4841 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 4845 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED); pZip 4864 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 4866 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 4880 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED); pZip 4896 src/punutil/miniz.c if (NULL == (pWrite_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, TINFL_LZ_DICT_SIZE))) pZip 4898 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 4907 src/punutil/miniz.c if ((!read_buf_avail) && (!pZip->m_pState->m_pMem)) pZip 4910 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 4912 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 4930 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_WRITE_CALLBACK_FAILED); pZip 4940 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED); pZip 4954 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE); pZip 4960 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_DECOMPRESSION_FAILED); pZip 4966 src/punutil/miniz.c if (!pZip->m_pState->m_pMem) pZip 4967 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 4970 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pWrite_buf); pZip 4975 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 4978 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index)) pZip 4981 src/punutil/miniz.c return mz_zip_reader_extract_to_callback(pZip, file_index, pCallback, pOpaque, flags); pZip 4984 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 4991 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 4995 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 4998 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5003 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, file_index, &pState->file_stat)) pZip 5005 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5012 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 5013 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5020 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD); pZip 5021 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5026 src/punutil/miniz.c pState->pZip = pZip; pZip 5042 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 5044 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5045 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5051 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5052 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5057 src/punutil/miniz.c if ((pState->cur_file_ofs + pState->file_stat.m_comp_size) > pZip->m_archive_size) pZip 5059 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5060 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5065 src/punutil/miniz.c if (pZip->m_pState->m_pMem) pZip 5067 src/punutil/miniz.c pState->pRead_buf = (mz_uint8 *)pZip->m_pState->m_pMem + pState->cur_file_ofs; pZip 5077 src/punutil/miniz.c if (NULL == (pState->pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)pState->read_buf_size))) pZip 5079 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5080 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5099 src/punutil/miniz.c if (NULL == (pState->pWrite_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, TINFL_LZ_DICT_SIZE))) pZip 5101 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5103 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState->pRead_buf); pZip 5104 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5112 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 5117 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pFilename, NULL, flags, &file_index)) pZip 5121 src/punutil/miniz.c return mz_zip_reader_extract_iter_new(pZip, file_index, flags); pZip 5129 src/punutil/miniz.c if ((!pState) || (!pState->pZip) || (!pState->pZip->m_pState) || (!pvBuf)) pZip 5138 src/punutil/miniz.c if (pState->pZip->m_pState->m_pMem) pZip 5147 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 5150 src/punutil/miniz.c mz_zip_set_error(pState->pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5180 src/punutil/miniz.c if ((!pState->read_buf_avail) && (!pState->pZip->m_pState->m_pMem)) pZip 5184 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 5186 src/punutil/miniz.c mz_zip_set_error(pState->pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5226 src/punutil/miniz.c mz_zip_set_error(pState->pZip, MZ_ZIP_DECOMPRESSION_FAILED); pZip 5246 src/punutil/miniz.c if ((!pState) || (!pState->pZip) || (!pState->pZip->m_pState)) pZip 5255 src/punutil/miniz.c mz_zip_set_error(pState->pZip, MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE); pZip 5261 src/punutil/miniz.c mz_zip_set_error(pState->pZip, MZ_ZIP_DECOMPRESSION_FAILED); pZip 5268 src/punutil/miniz.c if (!pState->pZip->m_pState->m_pMem) pZip 5269 src/punutil/miniz.c pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState->pRead_buf); pZip 5271 src/punutil/miniz.c pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState->pWrite_buf); pZip 5277 src/punutil/miniz.c pState->pZip->m_pFree(pState->pZip->m_pAlloc_opaque, pState); pZip 5290 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 5296 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) pZip 5300 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); pZip 5304 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 5306 src/punutil/miniz.c status = mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags); pZip 5311 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED); pZip 5324 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 5327 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pArchive_filename, NULL, flags, &file_index)) pZip 5330 src/punutil/miniz.c return mz_zip_reader_extract_to_file(pZip, file_index, pDst_filename, flags); pZip 5333 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 5337 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) pZip 5341 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); pZip 5343 src/punutil/miniz.c return mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags); pZip 5346 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 5349 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, pArchive_filename, NULL, flags, &file_index)) pZip 5352 src/punutil/miniz.c return mz_zip_reader_extract_to_cfile(pZip, file_index, pFile, flags); pZip 5364 src/punutil/miniz.c mz_bool mz_zip_validate_file(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags) pZip 5383 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (!pZip->m_pRead)) pZip 5384 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5386 src/punutil/miniz.c if (file_index > pZip->m_total_files) pZip 5387 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5389 src/punutil/miniz.c pState = pZip->m_pState; pZip 5391 src/punutil/miniz.c pCentral_dir_header = mz_zip_get_cdh(pZip, file_index); pZip 5393 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 5402 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION); pZip 5406 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_METHOD); pZip 5409 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); pZip 5413 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 5414 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5417 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5428 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5430 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 5431 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5433 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 5435 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5441 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 5443 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5450 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED); pZip 5460 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 5462 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5472 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5482 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5492 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 5520 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 5522 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 5544 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED); pZip 5552 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED); pZip 5557 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 5561 src/punutil/miniz.c if (!mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_compute_crc32_callback, &uncomp_crc32, 0)) pZip 5567 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED); pZip 5575 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 5579 src/punutil/miniz.c mz_bool mz_zip_validate_archive(mz_zip_archive *pZip, mz_uint flags) pZip 5584 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || (!pZip->m_pRead)) pZip 5585 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5587 src/punutil/miniz.c pState = pZip->m_pState; pZip 5592 src/punutil/miniz.c if (pZip->m_total_files > MZ_UINT16_MAX) pZip 5593 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 5595 src/punutil/miniz.c if (pZip->m_archive_size > MZ_UINT32_MAX) pZip 5596 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 5601 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 5604 src/punutil/miniz.c for (i = 0; i < pZip->m_total_files; i++) pZip 5611 src/punutil/miniz.c if (!mz_zip_reader_file_stat(pZip, i, &stat)) pZip 5614 src/punutil/miniz.c if (!mz_zip_reader_locate_file_v2(pZip, stat.m_filename, NULL, 0, &found_index)) pZip 5619 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_VALIDATION_FAILED); pZip 5622 src/punutil/miniz.c if (!mz_zip_validate_file(pZip, i, flags)) pZip 5741 src/punutil/miniz.c mz_zip_archive *pZip = (mz_zip_archive *)pOpaque; pZip 5742 src/punutil/miniz.c mz_zip_internal_state *pState = pZip->m_pState; pZip 5751 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE); pZip 5763 src/punutil/miniz.c if (NULL == (pNew_block = pZip->m_pRealloc(pZip->m_pAlloc_opaque, pState->m_pMem, 1, new_capacity))) pZip 5765 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5777 src/punutil/miniz.c static mz_bool mz_zip_writer_end_internal(mz_zip_archive *pZip, mz_bool set_last_error) pZip 5782 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 5785 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5789 src/punutil/miniz.c pState = pZip->m_pState; pZip 5790 src/punutil/miniz.c pZip->m_pState = NULL; pZip 5791 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_central_dir); pZip 5792 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_central_dir_offsets); pZip 5793 src/punutil/miniz.c mz_zip_array_clear(pZip, &pState->m_sorted_central_dir_offsets); pZip 5798 src/punutil/miniz.c if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE) pZip 5803 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED); pZip 5812 src/punutil/miniz.c if ((pZip->m_pWrite == mz_zip_heap_write_func) && (pState->m_pMem)) pZip 5814 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState->m_pMem); pZip 5818 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pState); pZip 5819 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_INVALID; pZip 5823 src/punutil/miniz.c mz_bool mz_zip_writer_init_v2(mz_zip_archive *pZip, mz_uint64 existing_size, mz_uint flags) pZip 5827 src/punutil/miniz.c if ((!pZip) || (pZip->m_pState) || (!pZip->m_pWrite) || (pZip->m_zip_mode != MZ_ZIP_MODE_INVALID)) pZip 5828 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5832 src/punutil/miniz.c if (!pZip->m_pRead) pZip 5833 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5836 src/punutil/miniz.c if (pZip->m_file_offset_alignment) pZip 5839 src/punutil/miniz.c if (pZip->m_file_offset_alignment & (pZip->m_file_offset_alignment - 1)) pZip 5840 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 5843 src/punutil/miniz.c if (!pZip->m_pAlloc) pZip 5844 src/punutil/miniz.c pZip->m_pAlloc = miniz_def_alloc_func; pZip 5845 src/punutil/miniz.c if (!pZip->m_pFree) pZip 5846 src/punutil/miniz.c pZip->m_pFree = miniz_def_free_func; pZip 5847 src/punutil/miniz.c if (!pZip->m_pRealloc) pZip 5848 src/punutil/miniz.c pZip->m_pRealloc = miniz_def_realloc_func; pZip 5850 src/punutil/miniz.c pZip->m_archive_size = existing_size; pZip 5851 src/punutil/miniz.c pZip->m_central_directory_file_ofs = 0; pZip 5852 src/punutil/miniz.c pZip->m_total_files = 0; pZip 5854 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 5855 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5857 src/punutil/miniz.c memset(pZip->m_pState, 0, sizeof(mz_zip_internal_state)); pZip 5859 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir, sizeof(mz_uint8)); pZip 5860 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_central_dir_offsets, sizeof(mz_uint32)); pZip 5861 src/punutil/miniz.c MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(&pZip->m_pState->m_sorted_central_dir_offsets, sizeof(mz_uint32)); pZip 5863 src/punutil/miniz.c pZip->m_pState->m_zip64 = zip64; pZip 5864 src/punutil/miniz.c pZip->m_pState->m_zip64_has_extended_info_fields = zip64; pZip 5866 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_USER; pZip 5867 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_WRITING; pZip 5872 src/punutil/miniz.c mz_bool mz_zip_writer_init(mz_zip_archive *pZip, mz_uint64 existing_size) pZip 5874 src/punutil/miniz.c return mz_zip_writer_init_v2(pZip, existing_size, 0); pZip 5877 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 5879 src/punutil/miniz.c pZip->m_pWrite = mz_zip_heap_write_func; pZip 5880 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 5883 src/punutil/miniz.c pZip->m_pRead = mz_zip_mem_read_func; pZip 5885 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 5887 src/punutil/miniz.c if (!mz_zip_writer_init_v2(pZip, size_to_reserve_at_beginning, flags)) pZip 5890 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_HEAP; pZip 5894 src/punutil/miniz.c if (NULL == (pZip->m_pState->m_pMem = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, initial_allocation_size))) pZip 5896 src/punutil/miniz.c mz_zip_writer_end_internal(pZip, MZ_FALSE); pZip 5897 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 5899 src/punutil/miniz.c pZip->m_pState->m_mem_capacity = initial_allocation_size; pZip 5905 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 5907 src/punutil/miniz.c return mz_zip_writer_init_heap_v2(pZip, size_to_reserve_at_beginning, initial_allocation_size, 0); pZip 5913 src/punutil/miniz.c mz_zip_archive *pZip = (mz_zip_archive *)pOpaque; pZip 5914 src/punutil/miniz.c mz_int64 cur_ofs = MZ_FTELL64(pZip->m_pState->m_pFile); pZip 5916 src/punutil/miniz.c file_ofs += pZip->m_pState->m_file_archive_start_ofs; pZip 5918 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 5920 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_SEEK_FAILED); pZip 5924 src/punutil/miniz.c return MZ_FWRITE(pBuf, 1, n, pZip->m_pState->m_pFile); pZip 5927 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 5929 src/punutil/miniz.c return mz_zip_writer_init_file_v2(pZip, pFilename, size_to_reserve_at_beginning, 0); pZip 5932 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 5936 src/punutil/miniz.c pZip->m_pWrite = mz_zip_file_write_func; pZip 5937 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 5940 src/punutil/miniz.c pZip->m_pRead = mz_zip_file_read_func; pZip 5942 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 5944 src/punutil/miniz.c if (!mz_zip_writer_init_v2(pZip, size_to_reserve_at_beginning, flags)) pZip 5949 src/punutil/miniz.c mz_zip_writer_end(pZip); pZip 5950 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 5953 src/punutil/miniz.c pZip->m_pState->m_pFile = pFile; pZip 5954 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_FILE; pZip 5966 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_ofs, buf, n) != n) pZip 5968 src/punutil/miniz.c mz_zip_writer_end(pZip); pZip 5969 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 5979 src/punutil/miniz.c mz_bool mz_zip_writer_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint flags) pZip 5981 src/punutil/miniz.c pZip->m_pWrite = mz_zip_file_write_func; pZip 5982 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 5985 src/punutil/miniz.c pZip->m_pRead = mz_zip_file_read_func; pZip 5987 src/punutil/miniz.c pZip->m_pIO_opaque = pZip; pZip 5989 src/punutil/miniz.c if (!mz_zip_writer_init_v2(pZip, 0, flags)) pZip 5992 src/punutil/miniz.c pZip->m_pState->m_pFile = pFile; pZip 5993 src/punutil/miniz.c pZip->m_pState->m_file_archive_start_ofs = MZ_FTELL64(pZip->m_pState->m_pFile); pZip 5994 src/punutil/miniz.c pZip->m_zip_type = MZ_ZIP_TYPE_CFILE; pZip 6000 src/punutil/miniz.c mz_bool mz_zip_writer_init_from_reader_v2(mz_zip_archive *pZip, const char *pFilename, mz_uint flags) pZip 6004 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING)) pZip 6005 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6010 src/punutil/miniz.c if (!pZip->m_pState->m_zip64) pZip 6011 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6015 src/punutil/miniz.c if (pZip->m_pState->m_zip64) pZip 6017 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT32_MAX) pZip 6018 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 6022 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT16_MAX) pZip 6023 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 6025 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 6026 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE); pZip 6029 src/punutil/miniz.c pState = pZip->m_pState; pZip 6035 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6037 src/punutil/miniz.c if (pZip->m_pIO_opaque != pZip) pZip 6038 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6040 src/punutil/miniz.c if (pZip->m_zip_type == MZ_ZIP_TYPE_FILE && pZip 6044 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6050 src/punutil/miniz.c mz_zip_reader_end_internal(pZip, MZ_FALSE); pZip 6051 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 6055 src/punutil/miniz.c pZip->m_pWrite = mz_zip_file_write_func; pZip 6056 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 6062 src/punutil/miniz.c if (pZip->m_pIO_opaque != pZip) pZip 6063 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6066 src/punutil/miniz.c pZip->m_pWrite = mz_zip_heap_write_func; pZip 6067 src/punutil/miniz.c pZip->m_pNeeds_keepalive = NULL; pZip 6070 src/punutil/miniz.c else if (!pZip->m_pWrite) pZip 6071 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6075 src/punutil/miniz.c pZip->m_archive_size = pZip->m_central_directory_file_ofs; pZip 6076 src/punutil/miniz.c pZip->m_central_directory_file_ofs = 0; pZip 6081 src/punutil/miniz.c mz_zip_array_clear(pZip, &pZip->m_pState->m_sorted_central_dir_offsets); pZip 6083 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_WRITING; pZip 6088 src/punutil/miniz.c mz_bool mz_zip_writer_init_from_reader(mz_zip_archive *pZip, const char *pFilename) pZip 6090 src/punutil/miniz.c return mz_zip_writer_init_from_reader_v2(pZip, pFilename, 0); pZip 6094 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 6096 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 6154 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 6156 src/punutil/miniz.c (void)pZip; pZip 6172 src/punutil/miniz.c static mz_bool mz_zip_writer_create_central_dir_header(mz_zip_archive *pZip, mz_uint8 *pDst, pZip 6178 src/punutil/miniz.c (void)pZip; pZip 6197 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 6204 src/punutil/miniz.c mz_zip_internal_state *pState = pZip->m_pState; pZip 6209 src/punutil/miniz.c if (!pZip->m_pState->m_zip64) pZip 6212 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_TOO_LARGE); pZip 6217 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 6219 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 6220 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6222 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 6223 src/punutil/miniz.c (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pFilename, filename_size)) || pZip 6224 src/punutil/miniz.c (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pExtra, extra_size)) || pZip 6225 src/punutil/miniz.c (!mz_zip_array_push_back(pZip, &pState->m_central_dir, user_extra_data, user_extra_data_len)) || pZip 6226 src/punutil/miniz.c (!mz_zip_array_push_back(pZip, &pState->m_central_dir, pComment, comment_size)) || pZip 6227 src/punutil/miniz.c (!mz_zip_array_push_back(pZip, &pState->m_central_dir_offsets, ¢ral_dir_ofs, 1))) pZip 6230 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 6231 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6248 src/punutil/miniz.c static mz_uint mz_zip_writer_compute_padding_needed_for_file_alignment(mz_zip_archive *pZip) pZip 6251 src/punutil/miniz.c if (!pZip->m_file_offset_alignment) pZip 6253 src/punutil/miniz.c n = (mz_uint32)(pZip->m_archive_size & (pZip->m_file_offset_alignment - 1)); pZip 6254 src/punutil/miniz.c return (mz_uint)((pZip->m_file_offset_alignment - n) & (pZip->m_file_offset_alignment - 1)); pZip 6257 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 6264 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_file_ofs, buf, s) != s) pZip 6265 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6273 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 6276 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 6279 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 6285 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 6308 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 6309 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6311 src/punutil/miniz.c pState = pZip->m_pState; pZip 6315 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT32_MAX) pZip 6316 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 6320 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT16_MAX) pZip 6333 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6336 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME); pZip 6366 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME); pZip 6368 src/punutil/miniz.c num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip); pZip 6372 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 6377 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 6392 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6396 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 6397 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6401 src/punutil/miniz.c if (NULL == (pComp = (tdefl_compressor *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(tdefl_compressor)))) pZip 6402 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6405 src/punutil/miniz.c if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes)) pZip 6407 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6412 src/punutil/miniz.c if (pZip->m_file_offset_alignment) pZip 6414 src/punutil/miniz.c MZ_ASSERT((local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0); pZip 6434 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 6435 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6437 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 6438 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6442 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 6444 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6445 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6451 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, extra_data, extra_size) != extra_size) pZip 6452 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6460 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 6461 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 6462 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6464 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 6465 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6469 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 6471 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6472 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6479 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 6480 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6487 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pBuf, buf_size) != buf_size) pZip 6489 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6490 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6500 src/punutil/miniz.c state.m_pZip = pZip; pZip 6507 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6508 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_COMPRESSION_FAILED); pZip 6515 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6530 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 6542 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 6554 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 6559 src/punutil/miniz.c pZip->m_total_files++; pZip 6560 src/punutil/miniz.c pZip->m_archive_size = cur_archive_file_ofs; pZip 6565 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 6571 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 6590 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 6591 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6593 src/punutil/miniz.c pState = pZip->m_pState; pZip 6604 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 6607 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME); pZip 6611 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT32_MAX) pZip 6612 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 6616 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT16_MAX) pZip 6625 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_FILENAME); pZip 6627 src/punutil/miniz.c num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip); pZip 6631 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 6636 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 6655 src/punutil/miniz.c if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes)) pZip 6657 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6663 src/punutil/miniz.c if (pZip->m_file_offset_alignment) pZip 6665 src/punutil/miniz.c MZ_ASSERT((cur_archive_file_ofs & (pZip->m_file_offset_alignment - 1)) == 0); pZip 6689 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 6690 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6692 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 6693 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6697 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 6699 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6704 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, extra_data, extra_size) != extra_size) pZip 6705 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6712 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 6713 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 6714 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6716 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 6717 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6721 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 6723 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6731 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 6732 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6739 src/punutil/miniz.c void *pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, MZ_ZIP_MAX_IO_BUF_SIZE); pZip 6742 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6755 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6756 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 6758 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_file_ofs, pRead_buf, n) != n) pZip 6760 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6761 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6774 src/punutil/miniz.c tdefl_compressor *pComp = (tdefl_compressor *)pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, sizeof(tdefl_compressor)); pZip 6777 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6778 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6781 src/punutil/miniz.c state.m_pZip = pZip; pZip 6787 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6788 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6789 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6800 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 6807 src/punutil/miniz.c if (pZip->m_pNeeds_keepalive != NULL && pZip->m_pNeeds_keepalive(pZip->m_pIO_opaque)) pZip 6821 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_COMPRESSION_FAILED); pZip 6826 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pComp); pZip 6830 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6839 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pRead_buf); pZip 6852 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 6864 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 6878 src/punutil/miniz.c if (!mz_zip_writer_create_local_dir_header(pZip, local_dir_header, pZip 6883 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INTERNAL_ERROR); pZip 6887 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 6888 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6894 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 6896 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6901 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_archive_header_file_ofs, extra_data, extra_size) != extra_size) pZip 6902 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 6914 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 6919 src/punutil/miniz.c pZip->m_total_files++; pZip 6920 src/punutil/miniz.c pZip->m_archive_size = cur_archive_file_ofs; pZip 6938 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 6941 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 6945 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 6958 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_STAT_FAILED); pZip 6963 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); pZip 6969 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 6977 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 6980 src/punutil/miniz.c if (!mz_zip_array_reserve(pZip, pNew_ext, ext_len + 64, MZ_FALSE)) pZip 6981 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 6983 src/punutil/miniz.c mz_zip_array_resize(pZip, pNew_ext, 0, MZ_FALSE); pZip 7019 src/punutil/miniz.c if (!mz_zip_array_push_back(pZip, pNew_ext, new_ext_block, pDst - new_ext_block)) pZip 7020 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7033 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7040 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7044 src/punutil/miniz.c if (!mz_zip_array_push_back(pZip, pNew_ext, pExtra_data, field_total_size)) pZip 7045 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7057 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 7076 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) || (!pSource_zip->m_pRead)) pZip 7077 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7079 src/punutil/miniz.c pState = pZip->m_pState; pZip 7082 src/punutil/miniz.c if ((pSource_zip->m_pState->m_zip64) && (!pZip->m_pState->m_zip64)) pZip 7083 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7087 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7090 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7099 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 7101 src/punutil/miniz.c num_alignment_padding_bytes = mz_zip_writer_compute_padding_needed_for_file_alignment(pZip); pZip 7105 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT16_MAX) pZip 7106 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 7111 src/punutil/miniz.c if (pZip->m_total_files == MZ_UINT32_MAX) pZip 7112 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 7119 src/punutil/miniz.c cur_dst_file_ofs = pZip->m_archive_size; pZip 7123 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 7126 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7145 src/punutil/miniz.c if (!mz_zip_array_resize(pZip, &file_data_array, local_header_extra_len, MZ_FALSE)) pZip 7147 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7152 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 7153 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 7164 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 7165 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7174 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 7175 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7184 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 7185 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED); pZip 7199 src/punutil/miniz.c mz_zip_array_clear(pZip, &file_data_array); pZip 7210 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 7214 src/punutil/miniz.c if (!mz_zip_writer_write_zeros(pZip, cur_dst_file_ofs, num_alignment_padding_bytes)) pZip 7220 src/punutil/miniz.c if (pZip->m_file_offset_alignment) pZip 7222 src/punutil/miniz.c MZ_ASSERT((local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0); pZip 7226 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 7227 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7232 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 7233 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7240 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 7241 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED); pZip 7245 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_dst_file_ofs, pBuf, n) != n) pZip 7247 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 7248 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7271 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 7272 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_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 7290 src/punutil/miniz.c if (pZip->m_pState->m_zip64) pZip 7312 src/punutil/miniz.c if (pZip->m_pWrite(pZip->m_pIO_opaque, cur_dst_file_ofs, pBuf, n) != n) pZip 7314 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 7315 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7321 src/punutil/miniz.c pZip->m_pFree(pZip->m_pAlloc_opaque, pBuf); pZip 7340 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 7342 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7348 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 7350 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7351 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7354 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 7356 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7357 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7358 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7361 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 7363 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7364 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7365 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7368 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 7370 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7371 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7372 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7375 src/punutil/miniz.c mz_zip_array_clear(pZip, &new_ext_block); pZip 7381 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 7384 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); pZip 7388 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 7389 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7391 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 7393 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7394 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7402 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7403 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE); pZip 7407 src/punutil/miniz.c if (!mz_zip_array_push_back(pZip, &pState->m_central_dir_offsets, &n, 1)) pZip 7409 src/punutil/miniz.c mz_zip_array_resize(pZip, &pState->m_central_dir, orig_central_dir_size, MZ_FALSE); pZip 7410 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED); pZip 7413 src/punutil/miniz.c pZip->m_total_files++; pZip 7414 src/punutil/miniz.c pZip->m_archive_size = cur_dst_file_ofs; pZip 7419 src/punutil/miniz.c mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) pZip 7425 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING)) pZip 7426 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7428 src/punutil/miniz.c pState = pZip->m_pState; pZip 7433 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 7437 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 7438 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); pZip 7443 src/punutil/miniz.c if (pZip->m_total_files) pZip 7446 src/punutil/miniz.c central_dir_ofs = pZip->m_archive_size; pZip 7448 src/punutil/miniz.c pZip->m_central_directory_file_ofs = central_dir_ofs; pZip 7449 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 7450 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7452 src/punutil/miniz.c pZip->m_archive_size += central_dir_size; pZip 7458 src/punutil/miniz.c mz_uint64 rel_ofs_to_zip64_ecdr = pZip->m_archive_size; pZip 7465 src/punutil/miniz.c MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS, pZip->m_total_files); pZip 7466 src/punutil/miniz.c MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS, pZip->m_total_files); pZip 7469 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 7470 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7472 src/punutil/miniz.c pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE; pZip 7479 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 7480 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7482 src/punutil/miniz.c pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE; pZip 7488 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 7489 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 7493 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 7494 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_WRITE_FAILED); pZip 7498 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED); pZip 7501 src/punutil/miniz.c pZip->m_archive_size += MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE; pZip 7503 src/punutil/miniz.c pZip->m_zip_mode = MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED; pZip 7507 src/punutil/miniz.c mz_bool mz_zip_writer_finalize_heap_archive(mz_zip_archive *pZip, void **ppBuf, size_t *pSize) pZip 7510 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7515 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 7516 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7518 src/punutil/miniz.c if (pZip->m_pWrite != mz_zip_heap_write_func) pZip 7519 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7521 src/punutil/miniz.c if (!mz_zip_writer_finalize_archive(pZip)) pZip 7524 src/punutil/miniz.c *ppBuf = pZip->m_pState->m_pMem; pZip 7525 src/punutil/miniz.c *pSize = pZip->m_pState->m_mem_size; pZip 7526 src/punutil/miniz.c pZip->m_pState->m_pMem = NULL; pZip 7527 src/punutil/miniz.c pZip->m_pState->m_mem_size = pZip->m_pState->m_mem_capacity = 0; pZip 7532 src/punutil/miniz.c mz_bool mz_zip_writer_end(mz_zip_archive *pZip) pZip 7534 src/punutil/miniz.c return mz_zip_writer_end_internal(pZip, MZ_TRUE); pZip 7686 src/punutil/miniz.c mz_zip_mode mz_zip_get_mode(mz_zip_archive *pZip) pZip 7688 src/punutil/miniz.c return pZip ? pZip->m_zip_mode : MZ_ZIP_MODE_INVALID; pZip 7691 src/punutil/miniz.c mz_zip_type mz_zip_get_type(mz_zip_archive *pZip) pZip 7693 src/punutil/miniz.c return pZip ? pZip->m_zip_type : MZ_ZIP_TYPE_INVALID; pZip 7696 src/punutil/miniz.c mz_zip_error mz_zip_set_last_error(mz_zip_archive *pZip, mz_zip_error err_num) pZip 7700 src/punutil/miniz.c if (!pZip) pZip 7703 src/punutil/miniz.c prev_err = pZip->m_last_error; pZip 7705 src/punutil/miniz.c pZip->m_last_error = err_num; pZip 7709 src/punutil/miniz.c mz_zip_error mz_zip_peek_last_error(mz_zip_archive *pZip) pZip 7711 src/punutil/miniz.c if (!pZip) pZip 7714 src/punutil/miniz.c return pZip->m_last_error; pZip 7717 src/punutil/miniz.c mz_zip_error mz_zip_clear_last_error(mz_zip_archive *pZip) pZip 7719 src/punutil/miniz.c return mz_zip_set_last_error(pZip, MZ_ZIP_NO_ERROR); pZip 7722 src/punutil/miniz.c mz_zip_error mz_zip_get_last_error(mz_zip_archive *pZip) pZip 7726 src/punutil/miniz.c if (!pZip) pZip 7729 src/punutil/miniz.c prev_err = pZip->m_last_error; pZip 7731 src/punutil/miniz.c pZip->m_last_error = MZ_ZIP_NO_ERROR; pZip 7813 src/punutil/miniz.c mz_bool mz_zip_is_zip64(mz_zip_archive *pZip) pZip 7815 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 7818 src/punutil/miniz.c return pZip->m_pState->m_zip64; pZip 7821 src/punutil/miniz.c size_t mz_zip_get_central_dir_size(mz_zip_archive *pZip) pZip 7823 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 7826 src/punutil/miniz.c return pZip->m_pState->m_central_dir.m_size; pZip 7829 src/punutil/miniz.c mz_uint mz_zip_reader_get_num_files(mz_zip_archive *pZip) pZip 7831 src/punutil/miniz.c return pZip ? pZip->m_total_files : 0; pZip 7834 src/punutil/miniz.c mz_uint64 mz_zip_get_archive_size(mz_zip_archive *pZip) pZip 7836 src/punutil/miniz.c if (!pZip) pZip 7838 src/punutil/miniz.c return pZip->m_archive_size; pZip 7841 src/punutil/miniz.c mz_uint64 mz_zip_get_archive_file_start_offset(mz_zip_archive *pZip) pZip 7843 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 7845 src/punutil/miniz.c return pZip->m_pState->m_file_archive_start_ofs; pZip 7848 src/punutil/miniz.c MZ_FILE *mz_zip_get_cfile(mz_zip_archive *pZip) pZip 7850 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState)) pZip 7852 src/punutil/miniz.c return pZip->m_pState->m_pFile; pZip 7855 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 7857 src/punutil/miniz.c if ((!pZip) || (!pZip->m_pState) || (!pBuf) || (!pZip->m_pRead)) pZip 7858 src/punutil/miniz.c return mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7860 src/punutil/miniz.c return pZip->m_pRead(pZip->m_pIO_opaque, file_ofs, pBuf, n); pZip 7863 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 7866 src/punutil/miniz.c const mz_uint8 *p = mz_zip_get_cdh(pZip, file_index); pZip 7871 src/punutil/miniz.c mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); pZip 7884 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 7886 src/punutil/miniz.c return mz_zip_file_stat_internal(pZip, file_index, mz_zip_get_cdh(pZip, file_index), pStat, NULL); pZip 7889 src/punutil/miniz.c mz_bool mz_zip_end(mz_zip_archive *pZip) pZip 7891 src/punutil/miniz.c if (!pZip) pZip 7894 src/punutil/miniz.c if (pZip->m_zip_mode == MZ_ZIP_MODE_READING) pZip 7895 src/punutil/miniz.c return mz_zip_reader_end(pZip); pZip 7897 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 7898 src/punutil/miniz.c return mz_zip_writer_end(pZip); pZip 1241 src/punutil/miniz.h mz_zip_archive *pZip; pZip 1267 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_init(mz_zip_archive *pZip, mz_uint64 size, mz_uint flags); pZip 1269 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 1275 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_init_file(mz_zip_archive *pZip, const char *pFilename, mz_uint32 flags); pZip 1276 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 1281 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 1285 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_end(mz_zip_archive *pZip); pZip 1291 src/punutil/miniz.h MINIZ_EXPORT void mz_zip_zero_struct(mz_zip_archive *pZip); pZip 1293 src/punutil/miniz.h MINIZ_EXPORT mz_zip_mode mz_zip_get_mode(mz_zip_archive *pZip); pZip 1294 src/punutil/miniz.h MINIZ_EXPORT mz_zip_type mz_zip_get_type(mz_zip_archive *pZip); pZip 1297 src/punutil/miniz.h MINIZ_EXPORT mz_uint mz_zip_reader_get_num_files(mz_zip_archive *pZip); pZip 1299 src/punutil/miniz.h MINIZ_EXPORT mz_uint64 mz_zip_get_archive_size(mz_zip_archive *pZip); pZip 1300 src/punutil/miniz.h MINIZ_EXPORT mz_uint64 mz_zip_get_archive_file_start_offset(mz_zip_archive *pZip); pZip 1301 src/punutil/miniz.h MINIZ_EXPORT MZ_FILE *mz_zip_get_cfile(mz_zip_archive *pZip); pZip 1304 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 1308 src/punutil/miniz.h MINIZ_EXPORT mz_zip_error mz_zip_set_last_error(mz_zip_archive *pZip, mz_zip_error err_num); pZip 1309 src/punutil/miniz.h MINIZ_EXPORT mz_zip_error mz_zip_peek_last_error(mz_zip_archive *pZip); pZip 1310 src/punutil/miniz.h MINIZ_EXPORT mz_zip_error mz_zip_clear_last_error(mz_zip_archive *pZip); pZip 1311 src/punutil/miniz.h MINIZ_EXPORT mz_zip_error mz_zip_get_last_error(mz_zip_archive *pZip); pZip 1315 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_is_file_a_directory(mz_zip_archive *pZip, mz_uint file_index); pZip 1318 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_is_file_encrypted(mz_zip_archive *pZip, mz_uint file_index); pZip 1321 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_reader_is_file_supported(mz_zip_archive *pZip, mz_uint file_index); pZip 1325 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 1330 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 1331 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 1334 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 1338 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_is_zip64(mz_zip_archive *pZip); pZip 1342 src/punutil/miniz.h MINIZ_EXPORT size_t mz_zip_get_central_dir_size(mz_zip_archive *pZip); pZip 1346 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 1347 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 1350 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 1351 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 1356 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 1357 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 1360 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 1361 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 1364 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 1365 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 1372 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 1373 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 1376 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 1377 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 1383 src/punutil/miniz.h pZip 1384 src/punutil/miniz.h pZip 1385 src/punutil/miniz.h pZip 1386 src/punutil/miniz.h pZip 1387 src/punutil/miniz.h pZip 1388 src/punutil/miniz.h pZip 1393 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_validate_file(mz_zip_archive *pZip, mz_uint file_index, mz_uint flags); pZip 1396 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_validate_archive(mz_zip_archive *pZip, mz_uint flags); pZip 1405 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_end(mz_zip_archive *pZip); pZip 1414 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_init(mz_zip_archive *pZip, mz_uint64 existing_size); pZip 1415 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 1417 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 1418 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 1421 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 1422 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 1423 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_init_cfile(mz_zip_archive *pZip, MZ_FILE *pFile, mz_uint flags); pZip 1432 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_init_from_reader(mz_zip_archive *pZip, const char *pFilename); pZip 1433 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 1438 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 1442 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 1445 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 1451 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 1458 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 1461 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 1468 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 1473 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip); pZip 1477 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_finalize_heap_archive(mz_zip_archive *pZip, void **ppBuf, size_t *pSize); pZip 1481 src/punutil/miniz.h MINIZ_EXPORT mz_bool mz_zip_writer_end(mz_zip_archive *pZip);