Mercurial > hg > octave-lyh
diff src/ls-mat5.cc @ 11580:e306683a7e97
read_mat5_binary_element: improve diagnostic if uncompress fails
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 20 Jan 2011 04:05:18 -0500 |
parents | fd0a3ac60b0e |
children | 12df7854fa7c |
line wrap: on
line diff
--- a/src/ls-mat5.cc +++ b/src/ls-mat5.cc @@ -547,7 +547,46 @@ element_length); if (err != Z_OK) - error ("load: error uncompressing data element"); + { + std::string msg; + switch (err) + { + case Z_STREAM_END: + msg = "stream end"; + break; + + case Z_NEED_DICT: + msg = "need dict"; + break; + + case Z_ERRNO: + msg = "errno case"; + break; + + case Z_STREAM_ERROR: + msg = "stream error"; + break; + + case Z_DATA_ERROR: + msg = "data error"; + break; + + case Z_MEM_ERROR: + msg = "mem error"; + break; + + case Z_BUF_ERROR: + msg = "buf error"; + break; + + case Z_VERSION_ERROR: + msg = "version error"; + break; + } + + error ("load: error uncompressing data element (%s from zlib)", + msg.c_str ()); + } else { std::istringstream gz_is (outbuf);