From bf601da420481ea2896798b44d901d082c62281f Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 1 Feb 2025 17:29:32 +0100 Subject: [PATCH] change only one converter method in header file --- CMakeLists.txt | 3 +-- src/kds_s2000w_handler.c | 4 +--- src/kds_s2000w_image_converter.h | 4 +--- src/kds_s2000w_image_converter_magick.c | 21 +++++++------------ src/kds_s2000w_image_converter_netpbm.c | 28 ++++++++++++++++++------- tests/kds_s2000w_client_mock.c | 15 +------------ 6 files changed, 32 insertions(+), 43 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b0579c6..d5b0055 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,8 +33,7 @@ IF (RUN_TESTS) --wrap,kds_s2000w_client_delete_image,\ --wrap,kds_s2000w_client_get_option,\ --wrap,kds_s2000w_client_set_option,\ ---wrap,kds_s2000w_image_converter_jpg_to_pnm,\ ---wrap,kds_s2000w_image_converter_tiff_to_pnm" +--wrap,kds_s2000w_image_converter_to_pnm" CACHE STRING "test coverage compiler flags" FORCE) ENDIF() diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 65df357..83ede1c 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -285,9 +285,7 @@ void kds_s2000w_handler_get_current_metadata(handler* h, metadata* params) params->pixels_per_line = mdata->width; params->lines = mdata->height; - kds_s2000w_image_converter_jpg_to_pnm(scanner_image, image); - kds_s2000w_image_converter_tiff_to_pnm(scanner_image, image); - + kds_s2000w_image_converter_to_pnm(scanner_image, image); kds_s2000w_debug_printf_int(DEBUG, "size of pnm image", image->size); if (params->depth == 1) diff --git a/src/kds_s2000w_image_converter.h b/src/kds_s2000w_image_converter.h index a9b3c3d..dfa9320 100644 --- a/src/kds_s2000w_image_converter.h +++ b/src/kds_s2000w_image_converter.h @@ -14,8 +14,6 @@ typedef struct { } image_metadata; void kds_s2000w_image_converter_metadata_from_scanner_image(blobdata* image, image_metadata* mdata); - -void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out); -void kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out); +void kds_s2000w_image_converter_to_pnm(blobdata* in, blobdata* out); #endif \ No newline at end of file diff --git a/src/kds_s2000w_image_converter_magick.c b/src/kds_s2000w_image_converter_magick.c index e4665fd..0c606f2 100644 --- a/src/kds_s2000w_image_converter_magick.c +++ b/src/kds_s2000w_image_converter_magick.c @@ -86,22 +86,17 @@ void kds_s2000w_image_converter_metadata_from_scanner_image(blobdata* image, ima exception = NULL; } -void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) +void kds_s2000w_image_converter_to_pnm(blobdata* in, blobdata* out) { - kds_s2000w_debug_printf(ALL, "kds_s2000w_convert_jpg_to_pnm_With_depth"); + kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_pnm"); - if (!kds_s2000w_image_type_check_is_jpeg(in)) + if (kds_s2000w_image_type_check_is_jpeg(in)) { + _kds_s2000w_image_converter_to_pnm(in, out, "jpg"); return; + } - _kds_s2000w_image_converter_to_pnm(in, out, "jpg"); -} - -void kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) -{ - kds_s2000w_debug_printf(ALL, "kds_s2000w_convert_tiff_to_pnm"); - - if (!kds_s2000w_image_type_check_is_tiff(in)) + if (kds_s2000w_image_type_check_is_tiff(in)) { + _kds_s2000w_image_converter_to_pnm(in, out, "tiff"); return; - - _kds_s2000w_image_converter_to_pnm(in, out, "tiff"); + } } \ No newline at end of file diff --git a/src/kds_s2000w_image_converter_netpbm.c b/src/kds_s2000w_image_converter_netpbm.c index 2ed85bc..85c1c7c 100644 --- a/src/kds_s2000w_image_converter_netpbm.c +++ b/src/kds_s2000w_image_converter_netpbm.c @@ -241,7 +241,7 @@ void _kds_s2000w_image_converter_write_pnm(unsigned char* data, pixels = NULL; } -void _kds_s2000w_image_converter_jpg_to_pnm(j_decompress_ptr cinfo, +void _kds_s2000w_image_converter_gray_or_color_jpg_to_pnm(j_decompress_ptr cinfo, FILE* jpeg_stream, FILE* pnm_stream, enum imgformat format) @@ -292,7 +292,7 @@ void kds_s2000w_image_converter_metadata_from_scanner_image(blobdata* image, ima } } -void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) +void _kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) { kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_jpg_to_pnm"); @@ -314,10 +314,10 @@ void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) FILE* pnm_stream = open_memstream(outdata, &out->size); if (cinfo.out_color_space == JCS_RGB) - _kds_s2000w_image_converter_jpg_to_pnm(&cinfo, jpeg_stream, pnm_stream, RGB); + _kds_s2000w_image_converter_gray_or_color_jpg_to_pnm(&cinfo, jpeg_stream, pnm_stream, RGB); if (cinfo.out_color_space == JCS_GRAYSCALE) - _kds_s2000w_image_converter_jpg_to_pnm(&cinfo, jpeg_stream, pnm_stream, GRAY); + _kds_s2000w_image_converter_gray_or_color_jpg_to_pnm(&cinfo, jpeg_stream, pnm_stream, GRAY); fclose(pnm_stream); out->data = malloc(sizeof(char) * out->size); @@ -331,13 +331,10 @@ void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) jpeg_destroy_decompress(&cinfo); } -void kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) +void _kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) { kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_tiff_to_pnm"); - if (!kds_s2000w_image_type_check_is_tiff(in)) - return; - FILE* tiff_stream = fmemopen(in->data, in->size, "r"); TIFF* tiff = TIFFClientOpen("input.tiff", "r", tiff_stream, _kds_s2000w_image_converter_tiff_read, @@ -385,3 +382,18 @@ void kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) TIFFClose(tiff); tiff = NULL; } + +void kds_s2000w_image_converter_to_pnm(blobdata* in, blobdata* out) +{ + kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_pnm"); + + if (kds_s2000w_image_type_check_is_jpeg(in)) { + _kds_s2000w_image_converter_jpg_to_pnm(in, out); + return; + } + + if (kds_s2000w_image_type_check_is_tiff(in)) { + _kds_s2000w_image_converter_tiff_to_pnm(in, out); + return; + } +} \ No newline at end of file diff --git a/tests/kds_s2000w_client_mock.c b/tests/kds_s2000w_client_mock.c index f567beb..410024d 100644 --- a/tests/kds_s2000w_client_mock.c +++ b/tests/kds_s2000w_client_mock.c @@ -89,20 +89,7 @@ int __wrap_kds_s2000w_client_set_option(int64_t sessionid, response* response) return mock_type(int); } -void __wrap_kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out) -{ - if (in->data == NULL) - return; - - out->data = malloc(sizeof(char) * in->size); - memcpy(out->data, in->data, in->size); - out->size = in->size; - free(in->data); - in->data = NULL; - in->size = 0; -} - -void __wrap_kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) +void __wrap_kds_s2000w_image_converter_to_pnm(blobdata* in, blobdata* out) { if (in->data == NULL) return; -- 2.39.5