From 4f96ef6b0d4aede214d208090e86cb7b8091f49c Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Tue, 15 Sep 2015 10:58:49 +0200 Subject: Change zlib_error to take message and code --- src/io/izlibstream.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/io/izlibstream.cpp') diff --git a/src/io/izlibstream.cpp b/src/io/izlibstream.cpp index 9079489507..f9d9463d95 100644 --- a/src/io/izlibstream.cpp +++ b/src/io/izlibstream.cpp @@ -33,7 +33,7 @@ inflate_streambuf::inflate_streambuf(std::istream& input, size_t bufsize, int wi zstr.avail_in = 0; int ret = inflateInit2(&zstr, window_bits); if(ret != Z_OK) - throw zlib_error("inflateInit failed", ret); + throw zlib_error(zstr.msg, ret); char* end = out.data() + out.size(); setg(end, end, end); @@ -70,15 +70,16 @@ inflate_streambuf::int_type inflate_streambuf::underflow() { case Z_NEED_DICT: case Z_DATA_ERROR: - throw zlib_error("Error decompressing data", ret); + throw zlib_error(zstr.msg, ret); + case Z_MEM_ERROR: throw std::bad_alloc(); + case Z_STREAM_END: if(have == 0) return traits_type::eof(); break; } - } while(have == 0); setg(out.data(), out.data(), out.data() + have); -- cgit 0.0.5-2-1-g0f52