From 0c98f31c641af5bc2a7205b626b8d916052ec697 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 2 Feb 2025 20:19:15 +0100 Subject: [PATCH] change mirror bits within for loop --- src/kds_s2000w_image_converter_netpbm.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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, -- 2.39.5