From: Bastian Dehn Date: Sun, 25 Feb 2024 08:55:50 +0000 (+0100) Subject: Revert "add channels into handler" X-Git-Tag: v1.0.0^2~196 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=c9d70db2db9610d2de8d0e3e9075c1737144b0e3;p=sane-kds-s2000w-net.git Revert "add channels into handler" This reverts commit 8c07354b6384039984b26077168516c9c915a882. --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 31b732f..b3cb0e8 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -32,7 +32,7 @@ void _get_current_metadata(handler* h) json_object* metadataResp = NULL; json_object* metadata = NULL; json_object* mdata_value = NULL; - h->current_metadata->channels = 1; + int channels = 1; metadataResp = json_tokener_parse(resp->data); metadata = json_object_object_get(metadataResp, "Metadata"); @@ -68,7 +68,7 @@ void _get_current_metadata(handler* h) h->current_metadata->format = 0; if (h->current_metadata->format == 1) - h->current_metadata->channels = 3; + channels = 3; if (pnm_image.size > 0) { free(pnm_image.data); @@ -87,9 +87,9 @@ void _get_current_metadata(handler* h) debug_printf_int(DEBUG, "size of pnm image", pnm_image.size); if (h->current_metadata->depth == 1) - h->current_metadata->bytes_per_line = h->current_metadata->channels * floor((h->current_metadata->pixels_per_line + 7) / 8); + h->current_metadata->bytes_per_line = channels * floor((h->current_metadata->pixels_per_line + 7) / 8); else - h->current_metadata->bytes_per_line = h->current_metadata->channels * h->current_metadata->pixels_per_line * h->current_metadata->depth / 8; + h->current_metadata->bytes_per_line = channels * h->current_metadata->pixels_per_line * h->current_metadata->depth / 8; h->current_metadata->valid = 1; h->current_metadata->is_last = 0; @@ -185,7 +185,6 @@ handler* init_handler() h->current_metadata->pixels_per_line = 0; h->current_metadata->lines = 0; h->current_metadata->depth = 8; - h->current_metadata->channels = 3; h->current_metadata->valid = 0; h->current_metadata->scanned_all_complete = 0; h->current_metadata->image = NULL; diff --git a/src/kds_s2000w_handler.h b/src/kds_s2000w_handler.h index 48d22c8..b144adc 100644 --- a/src/kds_s2000w_handler.h +++ b/src/kds_s2000w_handler.h @@ -8,7 +8,7 @@ enum { enum { RELOAD_OPTIONS = 2, - RELOAD_PARAMS = 4 + REALOD_PARAMS = 4 }; typedef struct { @@ -19,7 +19,6 @@ typedef struct { int pixels_per_line; int lines; int depth; - int channels; int valid; int scanned_all_complete; void* image; @@ -52,7 +51,7 @@ handler* init_handler(); void free_handler(handler* h); void kds_s2000w_handler_open(const char* devicename, void** handle); void kds_s2000w_handler_close(handler* h); -void kds_s2000w_handler_get_option(handler* handle, int option, void* value, int* info); +void kds_s2000w_handler_get_option(handler* handle, int option, void* value); void kds_s2000w_handler_set_option(handler* handle, int option, void* value, int* info); void kds_s2000w_handler_set_option_auto(int option); void kds_s2000w_handler_start_scan(handler* h); diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index c0b14d9..72f002d 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -117,7 +117,7 @@ void init_gamma_table() } } -void kds_s2000w_handler_get_option(handler* h, int option, void* value, int* info) +void kds_s2000w_handler_get_option(handler* h, int option, void* value) { config = json_object_object_get(resp_config, "Configuration"); json_object* value_object = NULL; @@ -139,13 +139,10 @@ void kds_s2000w_handler_get_option(handler* h, int option, void* value, int* in value_object = json_object_object_get(config, "ColorMode"); _write_string_value(value_object, value); - if (strcmp(value, "Color") == 0) { + if (strcmp(value, "Color") == 0) h->current_metadata->format = 1; - h->current_metadata->channels = 3; - } else { + else h->current_metadata->format = 0; - h->current_metadata->channels = 1; - } break; case 5: diff --git a/src/kds_s2000w_handler_opts.h b/src/kds_s2000w_handler_opts.h index 0bdf7d6..2fdbfd8 100644 --- a/src/kds_s2000w_handler_opts.h +++ b/src/kds_s2000w_handler_opts.h @@ -1,7 +1,7 @@ #ifndef KDS_S2000W_HANDLER_OPTS_H #define KDS_S2000W_HANDLER_OPTS_H void init_gamma_table(); -void kds_s2000w_handler_get_option(handler* h, int option, void* value, int* info); +void kds_s2000w_handler_get_option(handler* h, int option, void* value); void kds_s2000w_handler_set_option(handler* h, int option, void* value, int* info); void kds_s2000w_handler_set_option_auto(int option); #endif \ No newline at end of file diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index a25e900..5972e9d 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -2,7 +2,6 @@ #include #include #include -#include #include #include "kds_s2000w_option_descriptors.h" #include "kds_s2000w_handler.h" @@ -100,7 +99,7 @@ SANE_Status _sane_kds_s2000w_net_control_option(SANE_Handle handle, debug_printf(ALL, "sane_kds_s2000w_net_control_option"); handler* h = (handler*) handle; if (action == SANE_ACTION_GET_VALUE) - kds_s2000w_handler_get_option(h, option, value, info); + kds_s2000w_handler_get_option(h, option, value); if (action == SANE_ACTION_SET_VALUE) kds_s2000w_handler_set_option(h, option, value, info); diff --git a/tests/kds_s2000w_net_get_params_tests.c b/tests/kds_s2000w_net_get_params_tests.c index 29eb5bc..5901a5b 100644 --- a/tests/kds_s2000w_net_get_params_tests.c +++ b/tests/kds_s2000w_net_get_params_tests.c @@ -24,6 +24,7 @@ START_TEST(kds_s2000w_net_get_parameters_with_image_data) h->current_metadata->valid = 1; h->current_metadata->format = 1; h->current_metadata->is_last = 0; + h->current_metadata->bytes_per_line = 42; h->current_metadata->pixels_per_line = 1080; h->current_metadata->lines = 100; h->current_metadata->depth = 8; @@ -33,7 +34,7 @@ START_TEST(kds_s2000w_net_get_parameters_with_image_data) ck_assert_int_eq(params.format, 1); ck_assert_int_eq(params.last_frame, 0); - ck_assert_int_eq(params.bytes_per_line, 0); + ck_assert_int_eq(params.bytes_per_line, 42); ck_assert_int_eq(params.pixels_per_line, 1080); ck_assert_int_eq(params.lines, 100); ck_assert_int_eq(params.depth, 8);