From e4d58f4ebdb935830647965d0959935053b0798a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 16 Sep 2013 12:21:37 +0100 Subject: [PATCH 1/1] image: Fix PNM dumping for 2/4 channels. --- image/image_pnm.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/image/image_pnm.cpp b/image/image_pnm.cpp index df88c58..55130cb 100644 --- a/image/image_pnm.cpp +++ b/image/image_pnm.cpp @@ -156,6 +156,8 @@ Image::writePNM(std::ostream &os, const char *comment) const * General path for float images. */ + unsigned copyChannels = std::min(channels, outChannels); + assert(channelType == TYPE_FLOAT); for (row = start(); row != end(); row += stride()) { @@ -163,10 +165,10 @@ Image::writePNM(std::ostream &os, const char *comment) const float *dst = (float *)tmp; for (unsigned x = 0; x < width; ++x) { unsigned channel = 0; - for (; channel < channels; ++channel) { + for (; channel < copyChannels; ++channel) { *dst++ = *src++; } - for (; channel < channels; ++channel) { + for (; channel < outChannels; ++channel) { *dst++ = 0; } } -- 2.43.0