diff options
Diffstat (limited to 'converter/ppm')
-rw-r--r-- | converter/ppm/picttoppm.c | 6 | ||||
-rw-r--r-- | converter/ppm/ppmtoapplevol.c | 6 | ||||
-rw-r--r-- | converter/ppm/ppmtoilbm.c | 1 |
3 files changed, 9 insertions, 4 deletions
diff --git a/converter/ppm/picttoppm.c b/converter/ppm/picttoppm.c index 1a833b33..f5fbd7be 100644 --- a/converter/ppm/picttoppm.c +++ b/converter/ppm/picttoppm.c @@ -1273,7 +1273,7 @@ doDiffSize(struct Rect const clipsrc, } break; case 32: { - unsigned int const planeSize = srcwid / 4; + unsigned int const planeSize = rectwidth(&srcRect); unsigned int rowNumber; for (rowNumber = 0; rowNumber < ysize; ++rowNumber) { @@ -1443,7 +1443,7 @@ doSameSize(transfer_func trf, } } break; case 32: { - unsigned int const planeSize = srcwid / 4; + unsigned int const planeSize = xsize; unsigned int rowNumber; for (rowNumber = 0; rowNumber < ysize; ++rowNumber) { @@ -1526,7 +1526,7 @@ blitIdempotent(unsigned int const pixSize, } } break; case 32: { - unsigned int const planeSize = srcwid / 4; + unsigned int const planeSize = xsize; unsigned int rowNumber; for (rowNumber = 0; rowNumber < ysize; ++rowNumber) { diff --git a/converter/ppm/ppmtoapplevol.c b/converter/ppm/ppmtoapplevol.c index e1c7f2dc..eb4b6b2a 100644 --- a/converter/ppm/ppmtoapplevol.c +++ b/converter/ppm/ppmtoapplevol.c @@ -68,6 +68,10 @@ main (int argc, const char * argv[]) { if (rows != 12) pm_error("Input image must be 12 rows tall. Yours is %u", rows); + if (cols > 255) + pm_error("Input image must not be more than 255 columns wide." + " Yours is %u", cols); + writeHeader(cols, stdout); pixelrow = ppm_allocrow(cols); @@ -75,7 +79,7 @@ main (int argc, const char * argv[]) { for (row = 0; row < rows; row++) { unsigned int col; - ppm_readppmrow(stdin, pixelrow, cols, maxval, format); + ppm_readppmrow(ifP, pixelrow, cols, maxval, format); for (col = 0; col < cols; ++col) { unsigned int const maxval15Value = diff --git a/converter/ppm/ppmtoilbm.c b/converter/ppm/ppmtoilbm.c index 595aa3f4..c5fa4d00 100644 --- a/converter/ppm/ppmtoilbm.c +++ b/converter/ppm/ppmtoilbm.c @@ -2274,6 +2274,7 @@ main(int argc, char ** argv) { if (colors == 0) pm_error("empty colormap??"); pm_message("%d colors found in colormap", colors); + nPlanes = pm_maxvaltobits(colors-1); } if (maskmethod != mskNone) { |