From acc23724c1a91fc3a604056d1892fa4dc762cd79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 8 Nov 2022 10:41:12 +0100 Subject: [PATCH] TgaImporter: use a better error message for RLE decoding failures. --- src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp | 2 +- src/MagnumPlugins/TgaImporter/TgaImporter.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp b/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp index 12e6951e6..344aa2acd 100644 --- a/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp +++ b/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp @@ -434,7 +434,7 @@ void TgaImporterTest::rleTooLarge() { std::ostringstream out; Error redirectError{&out}; CORRADE_VERIFY(!importer->image2D(0)); - CORRADE_COMPARE(out.str(), "Trade::TgaImporter::image2D(): RLE data larger than advertised Vector(2, 3) pixels at byte 28\n"); + CORRADE_COMPARE(out.str(), "Trade::TgaImporter::image2D(): RLE data at byte 28 contains 4 pixels but only 3 left to decode\n"); } void TgaImporterTest::openMemory() { diff --git a/src/MagnumPlugins/TgaImporter/TgaImporter.cpp b/src/MagnumPlugins/TgaImporter/TgaImporter.cpp index b6cbfe4fd..8d3bb7111 100644 --- a/src/MagnumPlugins/TgaImporter/TgaImporter.cpp +++ b/src/MagnumPlugins/TgaImporter/TgaImporter.cpp @@ -167,7 +167,7 @@ Containers::Optional TgaImporter::doImage2D(UnsignedInt, UnsignedIn return Containers::NullOpt; } if(count*pixelSize > dstPixels.size()) { - Error{} << "Trade::TgaImporter::image2D(): RLE data larger than advertised" << size << "pixels at byte" << (srcPixels.data() - _in.data()); + Error{} << "Trade::TgaImporter::image2D(): RLE data at byte" << (srcPixels.data() - _in.data()) << "contains" << count << "pixels but only" << dstPixels.size()/pixelSize << "left to decode"; return Containers::NullOpt; }