From 67f6212ba41c4deb311e44d43c51b55582fc35fe Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Thu, 20 Nov 2025 16:49:17 +0100 Subject: [PATCH] Revert "remove math lib with bit shift" This reverts commit 1a9a58fd22f8426e72db2c8457680cff434b24f5. --- readme.md | 1 + src/CMakeLists.txt | 4 ++++ src/kds_s2000w_handler.c | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 2e02926..e846f73 100644 --- a/readme.md +++ b/readme.md @@ -39,6 +39,7 @@ https://www.kodakalaris.com/en/scanners/s2080w-scanner - [tiff](https://libtiff.gitlab.io/libtiff) - read bw tiff - [netpbm](https://netpbm.sourceforge.net) - write pnm image - [imagemagick](https://imagemagick.org/script/magick-core.php) - convert jpg to pnm +- math - calc bytes per line - pthread - heartbeat interval sleep ### Test dependencies diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a8ce8e8..3308980 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,6 +27,8 @@ message(STATUS "IMAGEMAGICK: ${IMAGEMAGICK}") find_library(SANE NAMES sane REQUIRED ONLY_CMAKE_FIND_ROOT_PATH) message(STATUS "find sane: ${SANE}") +find_library(MATH NAMES m REQUIRED) +message(STATUS "find math: ${MATH}") find_library(PTHREAD NAMES pthread REQUIRED) message(STATUS "find pthread: ${PTHREAD}") find_library(CONFUSE NAMES confuse REQUIRED) @@ -94,6 +96,7 @@ target_include_directories(sane-kds_s2000w_net PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(sane-kds_s2000w_net + ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} @@ -120,6 +123,7 @@ target_include_directories(sane-kds_s2000w_net-static PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(sane-kds_s2000w_net-static + ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 60a5629..4113be0 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -1,5 +1,6 @@ #include #include +#include #include "config.h" #include "kds_s2000w_config.h" #include "kds_s2000w_handler.h" @@ -115,9 +116,9 @@ uint32_t _kds_s2000w_handler_calc_bytes_per_line(const metadata_t* params) channels = 3; if (params->depth == 1) - return channels * (params->pixels_per_line + 7) >> 3; + return channels * floor((params->pixels_per_line + 7) / 8); - return channels * params->pixels_per_line * params->depth >> 3; + return channels * params->pixels_per_line * params->depth / 8; } void _kds_s2000w_handler_set_default_metadata(metadata_t* params) -- 2.47.3