From: Bastian Dehn Date: Sun, 2 Feb 2025 19:19:15 +0000 (+0100) Subject: change mirror bits within for loop X-Git-Tag: v1.0.31^2~5 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=0c98f31c641af5bc2a7205b626b8d916052ec697;p=sane-kds-s2000w-net.git change mirror bits within for loop --- diff --git a/src/kds_s2000w_image_converter_netpbm.c b/src/kds_s2000w_image_converter_netpbm.c index 85c1c7c..94d8935 100644 --- a/src/kds_s2000w_image_converter_netpbm.c +++ b/src/kds_s2000w_image_converter_netpbm.c @@ -136,17 +136,20 @@ void _kds_s2000w_image_converter_jpeg_metadata(blobdata* image, image_metadata* unsigned char _kds_s2000w_image_converter_mirror_bits(unsigned char data) { - unsigned char tmp = 0; + unsigned char mirrored = 0; - for (int i = 0; i < BYTE_BITS - 1; i++) { - tmp += data & 1; - tmp <<= 1; + int last_bitshift = BYTE_BITS - 1; + for (int i = 0; i < BYTE_BITS; i++) { + mirrored += data & 1; + + if (i == last_bitshift) + break; + + mirrored <<= 1; data >>= 1; } - tmp += data; - - return tmp; + return mirrored; } void _kds_s2000w_image_converter_write_bw_pnm(unsigned char* data,