| 5430 | #endif // #ifndef MINIZ_NO_STDIO |
| 5431 | |
| 5432 | mz_bool mz_zip_reader_end(mz_zip_archive *pZip) { |
| 5433 | if ((!pZip) || (!pZip->m_pState) || (!pZip->m_pAlloc) || (!pZip->m_pFree) || |
| 5434 | (pZip->m_zip_mode != MZ_ZIP_MODE_READING)) |
| 5435 | return MZ_FALSE; |
| 5436 | |
| 5437 | if (pZip->m_pState) { |
| 5438 | mz_zip_internal_state *pState = pZip->m_pState; |
| 5439 | pZip->m_pState = NULL; |
| 5440 | mz_zip_array_clear(pZip, &pState->m_central_dir); |
| 5441 | mz_zip_array_clear(pZip, &pState->m_central_dir_offsets); |
| 5442 | mz_zip_array_clear(pZip, &pState->m_sorted_central_dir_offsets); |
| 5443 | |
| 5444 | #ifndef MINIZ_NO_STDIO |
| 5445 | if (pState->m_pFile) { |
| 5446 | MZ_FCLOSE(pState->m_pFile); |
| 5447 | pState->m_pFile = NULL; |
| 5448 | } |
| 5449 | #endif // #ifndef MINIZ_NO_STDIO |
| 5450 | |
| 5451 | pZip->m_pFree(pZip->m_pAlloc_opaque, pState); |
| 5452 | } |
| 5453 | pZip->m_zip_mode = MZ_ZIP_MODE_INVALID; |
| 5454 | |
| 5455 | return MZ_TRUE; |
| 5456 | } |
| 5457 | |
| 5458 | #ifndef MINIZ_NO_STDIO |
| 5459 | mz_bool mz_zip_reader_extract_file_to_file(mz_zip_archive *pZip, |
no test coverage detected