| 689 | #endif |
| 690 | |
| 691 | ZlibDecompressionStream::ZlibDecompressionStream(std::unique_ptr<SeekableInputStream> inStream, |
| 692 | size_t bufferSize, MemoryPool& pool, |
| 693 | ReaderMetrics* metrics) |
| 694 | : DecompressionStream(std::move(inStream), bufferSize, pool, metrics) { |
| 695 | zstream_.next_in = nullptr; |
| 696 | zstream_.avail_in = 0; |
| 697 | zstream_.zalloc = nullptr; |
| 698 | zstream_.zfree = nullptr; |
| 699 | zstream_.opaque = nullptr; |
| 700 | zstream_.next_out = reinterpret_cast<Bytef*>(outputDataBuffer.data()); |
| 701 | zstream_.avail_out = static_cast<uInt>(outputDataBuffer.capacity()); |
| 702 | int64_t result = inflateInit2(&zstream_, -15); |
| 703 | switch (result) { |
| 704 | case Z_OK: |
| 705 | break; |
| 706 | case Z_MEM_ERROR: |
| 707 | throw CompressionError( |
| 708 | "Memory error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2"); |
| 709 | case Z_VERSION_ERROR: |
| 710 | throw CompressionError( |
| 711 | "Version error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2"); |
| 712 | case Z_STREAM_ERROR: |
| 713 | throw CompressionError( |
| 714 | "Stream error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2"); |
| 715 | default: |
| 716 | throw CompressionError( |
| 717 | "Unknown error from ZlibDecompressionStream::ZlibDecompressionStream inflateInit2"); |
| 718 | } |
| 719 | } |
| 720 | |
| 721 | DIAGNOSTIC_POP |
| 722 |
nothing calls this directly
no test coverage detected