void ZipWriter::close() { if (_out) { mz_zip_writer_finalize_archive(&_archive); mz_zip_writer_end(&_archive); _out.reset(); } }
void ArchiveWriter::Close() { mz_zip_archive* zip = (mz_zip_archive*)zip_obj_; mz_zip_writer_finalize_archive(zip); mz_zip_writer_end(zip); delete zip; zip_obj_ = NULL; }
void ZipIO::closeArchive(){ if (_kisopen) { if (_kmode == OpenMode::READ) { mz_zip_reader_end(&_kzarchive); } else if (_kmode == OpenMode::WRITE) { mz_zip_writer_end(&_kzarchive); }; } _kisopen = false; _kready = false; }
std::string pak::bin() //const { std::string result; if( type == paktype::ZIP ) { mz_zip_archive zip_archive; memset( &zip_archive, 0, sizeof(zip_archive) ); mz_bool status = mz_zip_writer_init_heap( &zip_archive, 0, 128 * 1024 ); assert( status ); if( !status ) return "mz_zip_writer_init_heap() failed!", std::string(); for( iterator it = this->begin(); it != this->end(); ++it ) { const char *filename = it->operator[]("filename").c_str(); const char *content = it->operator[]("content").c_str(); const size_t bufsize = it->operator[]("content").size(); status = mz_zip_writer_add_mem( &zip_archive, filename, content, bufsize, MZ_DEFAULT_COMPRESSION ); if( !status ) return "mz_zip_writer_add_mem() failed!", std::string(); } void *pBuf; size_t pSize; status = mz_zip_writer_finalize_heap_archive( &zip_archive, &pBuf, &pSize); if( !status ) return "mz_zip_writer_finalize_heap_archive() failed!", std::string(); // Ends archive writing, freeing all allocations, and closing the output file if mz_zip_writer_init_file() was used. // Note for the archive to be valid, it must have been finalized before ending. status = mz_zip_writer_end( &zip_archive ); assert( status ); if( !status ) return "mz_zip_writer_end() failed!", std::string(); result.resize( pSize ); memcpy( &result.at(0), pBuf, pSize ); free( pBuf ); } else {} return result; }
void zip_file::save(std::vector<unsigned char> &bytes) { if(archive_->m_zip_mode == MZ_ZIP_MODE_WRITING) { mz_zip_writer_finalize_archive(archive_.get()); } if(archive_->m_zip_mode == MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED) { mz_zip_writer_end(archive_.get()); } if(archive_->m_zip_mode == MZ_ZIP_MODE_INVALID) { start_read(); } append_comment(); bytes.assign(buffer_.begin(), buffer_.end()); }
void zip_file::save(std::ostream &stream) { if(archive_->m_zip_mode == MZ_ZIP_MODE_WRITING) { mz_zip_writer_finalize_archive(archive_.get()); } if(archive_->m_zip_mode == MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED) { mz_zip_writer_end(archive_.get()); } if(archive_->m_zip_mode == MZ_ZIP_MODE_INVALID) { start_read(); } append_comment(); stream.write(buffer_.data(), buffer_.size()); }
static int lmz_writer_gc(lua_State *L) { lmz_file_t* zip = luaL_checkudata(L, 1, "miniz_writer"); mz_zip_writer_end(&(zip->archive)); return 0; }
static int Lwriter_close(lua_State *L) { mz_zip_archive *za = luaL_checkudata(L, 1, LMZ_ZIP_WRITER); lua_pushboolean(L, mz_zip_writer_end(za)); return 1; }