diff options
Diffstat (limited to 'converter')
-rw-r--r-- | converter/other/bmptopnm.c | 11 | ||||
-rw-r--r-- | converter/other/pnmtops.c | 8 | ||||
-rw-r--r-- | converter/pbm/brushtopbm.c | 6 | ||||
-rw-r--r-- | converter/pbm/pbmtomgr.c | 6 | ||||
-rw-r--r-- | converter/pbm/pbmtoxbm.c | 9 | ||||
-rw-r--r-- | converter/pbm/xbmtopbm.c | 8 | ||||
-rw-r--r-- | converter/ppm/ppmtobmp.c | 8 |
7 files changed, 11 insertions, 45 deletions
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c index 84d39989..a069092f 100644 --- a/converter/other/bmptopnm.c +++ b/converter/other/bmptopnm.c @@ -1442,8 +1442,6 @@ writeRasterPbm(unsigned char ** const bmpRaster, We destroy *bmpRaster as a side effect. -----------------------------------------------------------------------------*/ - unsigned int const charBits = (sizeof(unsigned char) * 8); - /* Number of bits in a character */ unsigned int const colChars = pbm_packed_bytes(cols); int row; @@ -1463,13 +1461,8 @@ writeRasterPbm(unsigned char ** const bmpRaster, for (i = 0; i < colChars; ++i) bitrow[i] = ~bitrow[i]; /* flip all pixels */ } - - if (cols % 8 > 0) { - /* adjust final partial byte */ - bitrow[colChars-1] >>= charBits - cols % charBits; - bitrow[colChars-1] <<= charBits - cols % charBits; - } - + + pbm_cleanrowend_packed(bitrow, cols); pbm_writepbmrow_packed(stdout, bitrow, cols, FALSE); } } diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c index cf6b2873..6cd6be95 100644 --- a/converter/other/pnmtops.c +++ b/converter/other/pnmtops.c @@ -1853,18 +1853,14 @@ convertRowPbm(struct pam * const pamP, ----------------------------------------------------------------------*/ unsigned int colChar; unsigned int const colChars = pbm_packed_bytes(pamP->width); - unsigned int const padRight = (8 - pamP->width %8) %8; pbm_readpbmrow_packed(pamP->file, bitrow, pamP->width, pamP->format); for (colChar = 0; colChar < colChars; ++colChar) bitrow[colChar] = ~ bitrow[colChar]; - if (padRight > 0) { - bitrow[colChars-1] >>= padRight; /* Zero clear padding beyond */ - bitrow[colChars-1] <<= padRight; /* right edge */ - } - + /* Zero clear padding beyond right edge */ + pbm_cleanrowend_packed(bitrow, pamP->width); writeFile(bitrow, colChars, "PBM reader", fP); } diff --git a/converter/pbm/brushtopbm.c b/converter/pbm/brushtopbm.c index c50fe8a1..ebd817be 100644 --- a/converter/pbm/brushtopbm.c +++ b/converter/pbm/brushtopbm.c @@ -93,11 +93,7 @@ main(int argc, const char ** argv) { bitrow[i] = ~bitrow[i]; /* Clean off remainder of fractional last character */ - if (cols % 8 > 0) { - unsigned int const colChars = pbm_packed_bytes(cols); - bitrow[colChars-1] >>= 8 - cols % 8; - bitrow[colChars-1] <<= 8 - cols % 8; - } + pbm_cleanrowend_packed(bitrow, cols); pbm_writepbmrow_packed(stdout, bitrow, cols, 0); } diff --git a/converter/pbm/pbmtomgr.c b/converter/pbm/pbmtomgr.c index d12e6635..e8e30148 100644 --- a/converter/pbm/pbmtomgr.c +++ b/converter/pbm/pbmtomgr.c @@ -89,11 +89,7 @@ main(int argc, size_t bytesWritten; pbm_readpbmrow_packed(ifP, bitrow, cols, format); - - if (padright > 0) { - bitrow[bytesPerRow-1] >>= padright; - bitrow[bytesPerRow-1] <<= padright; - } + pbm_cleanrowend_packed(bitrow, cols); bytesWritten = fwrite(bitrow, 1, bytesPerRow, stdout); if (bytesWritten != bytesPerRow ) diff --git a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c index 2b59a17c..2d71fd7b 100644 --- a/converter/pbm/pbmtoxbm.c +++ b/converter/pbm/pbmtoxbm.c @@ -342,17 +342,10 @@ convertRaster(FILE * const ifP, bitrow[bitrowBytes-1] = 0; for (row = 0; row < rows; ++row) { - int const bitrowInBytes = pbm_packed_bytes(cols); - int const padrightIn = bitrowInBytes * 8 - cols; - unsigned int i; pbm_readpbmrow_packed(ifP, bitrow, cols, format); - - if (padrightIn > 0) { - bitrow[bitrowInBytes - 1] >>= padrightIn; - bitrow[bitrowInBytes - 1] <<= padrightIn; - } + pbm_cleanrowend_packed(bitrow, cols); for (i = 0; i < bitrowBytes; ++i) putitem(bitrow[i]); diff --git a/converter/pbm/xbmtopbm.c b/converter/pbm/xbmtopbm.c index 0cbebc5e..bbf4e395 100644 --- a/converter/pbm/xbmtopbm.c +++ b/converter/pbm/xbmtopbm.c @@ -362,12 +362,8 @@ main(int argc, for (i = 0; i < bytesPerRow; ++i) bitrow[i] = bitreverse[*p++]; - - if (cols % 8 > 0) { - bitrow[bytesPerRow-1] >>= 8 - cols % 8; - bitrow[bytesPerRow-1] <<= 8 - cols % 8; - } - + + pbm_cleanrowend_packed(bitrow, cols); pbm_writepbmrow_packed(stdout, bitrow, cols, 0); } diff --git a/converter/ppm/ppmtobmp.c b/converter/ppm/ppmtobmp.c index 24b1b3e5..78cce396 100644 --- a/converter/ppm/ppmtobmp.c +++ b/converter/ppm/ppmtobmp.c @@ -821,7 +821,6 @@ doPbm(FILE * const ifP, 32 bit borders and that in BMP the bottom row comes first in order. */ - int const CHARBITS = (sizeof(unsigned char)*8); int const colChars = pbm_packed_bytes(cols); int const adjustedCols = (cols+31) /32 * 32; int const packedBytes = adjustedCols /8; @@ -853,11 +852,8 @@ doPbm(FILE * const ifP, some BMP viewers may get confused with that. */ - if (cols % 8 >0) { - /* adjust final partial byte */ - thisRow[colChars-1] >>= CHARBITS - cols % CHARBITS; - thisRow[colChars-1] <<= CHARBITS - cols % CHARBITS; - } + /* Clean off remainder of fractional last character */ + pbm_cleanrowend_packed(thisRow, cols); } bmpEncodePbm(ofP, class, cols, rows, bitrow); |