int block_load(wp_dump *d, int block, char *text, int *text_len) { uint32_t bzres = 0; uint64_t size; BitBuffer *bb = bbOfSize(BZ_MAX_BLOCK); size = readBlock(d->fp, (d->block_map)[block], bb); if((bzres = decompressBlock(bb->buff, bb->pos, text, text_len)) != BZ_OK) fatal("error decompressing block: %d. article_file: 0x%x", bzres, d->fp); bbClose(bb); }
void Decompressor::decompress(char* dst, unsigned long dst_len, char* src, unsigned long src_len) { m_decompressed = 0; m_processed = 0; m_unprocessed = 0; unsigned long rv = decompressBlock(dst, dst_len, src, src_len, m_unprocessed); m_decompressed = rv; m_decompressed_total += rv; m_processed = src_len - m_unprocessed; m_processed_total += m_processed; }