Mercurial > hg > octave-lyh
comparison 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 |
comparison
equal
deleted
inserted
replaced
11579:5c680b69b4e2 | 11580:e306683a7e97 |
---|---|
545 int err = uncompress (reinterpret_cast<Bytef *> (const_cast<char *> (outbuf.c_str ())), | 545 int err = uncompress (reinterpret_cast<Bytef *> (const_cast<char *> (outbuf.c_str ())), |
546 &destLen, reinterpret_cast<Bytef *> (inbuf), | 546 &destLen, reinterpret_cast<Bytef *> (inbuf), |
547 element_length); | 547 element_length); |
548 | 548 |
549 if (err != Z_OK) | 549 if (err != Z_OK) |
550 error ("load: error uncompressing data element"); | 550 { |
551 std::string msg; | |
552 switch (err) | |
553 { | |
554 case Z_STREAM_END: | |
555 msg = "stream end"; | |
556 break; | |
557 | |
558 case Z_NEED_DICT: | |
559 msg = "need dict"; | |
560 break; | |
561 | |
562 case Z_ERRNO: | |
563 msg = "errno case"; | |
564 break; | |
565 | |
566 case Z_STREAM_ERROR: | |
567 msg = "stream error"; | |
568 break; | |
569 | |
570 case Z_DATA_ERROR: | |
571 msg = "data error"; | |
572 break; | |
573 | |
574 case Z_MEM_ERROR: | |
575 msg = "mem error"; | |
576 break; | |
577 | |
578 case Z_BUF_ERROR: | |
579 msg = "buf error"; | |
580 break; | |
581 | |
582 case Z_VERSION_ERROR: | |
583 msg = "version error"; | |
584 break; | |
585 } | |
586 | |
587 error ("load: error uncompressing data element (%s from zlib)", | |
588 msg.c_str ()); | |
589 } | |
551 else | 590 else |
552 { | 591 { |
553 std::istringstream gz_is (outbuf); | 592 std::istringstream gz_is (outbuf); |
554 retval = read_mat5_binary_element (gz_is, filename, | 593 retval = read_mat5_binary_element (gz_is, filename, |
555 swap, global, tc); | 594 swap, global, tc); |