X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=image%2Fimage_pnm.cpp;h=55130cb12866859a61efcdfd211a473ad63ba919;hb=e4d58f4ebdb935830647965d0959935053b0798a;hp=df88c58cb50a17b1d4e330fb8422b90b63805d55;hpb=75af867d17044b6e3992e579c35915e35d2a7e78;p=apitrace 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; } }