From: Bastian Dehn Date: Sat, 21 Dec 2024 12:25:51 +0000 (+0100) Subject: remove channels from handler X-Git-Tag: v1.0.9^2~2 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=5c5cca5e93ccb04a6e63e4e708b593282eace5c2;p=sane-kds-s2000w-net.git remove channels from handler --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 19ee734..26f1d2f 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -23,6 +23,8 @@ void _get_current_metadata(handler* h) const char* color_value = json_object_get_string(metadata); blobdata* image = (blobdata*) h->image; blobdata* scanner_image = malloc(sizeof(blobdata)); + int channels = 1; + scanner_image->data = malloc(sizeof(char) * image->size); scanner_image->size = image->size; memcpy(scanner_image->data, image->data, image->size); @@ -31,7 +33,6 @@ void _get_current_metadata(handler* h) image->data = 0; h->current_metadata->valid = 0; - h->current_metadata->channels = 1; if (strcmp(color_value, "Color") == 0) h->current_metadata->format = 1; @@ -43,7 +44,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; kds_s2000w_metadata_from_image(scanner_image, mdata); h->current_metadata->depth = mdata->depth; @@ -62,9 +63,9 @@ void _get_current_metadata(handler* h) #endif 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; @@ -177,7 +178,6 @@ handler* init_handler() h->current_scan_status->complete_scanned = 0; h->current_scan_status->feeder = 1; h->current_metadata->format = 1; - h->current_metadata->channels = 3; h->current_metadata->bytes_per_line = 0; h->current_metadata->pixels_per_line = 0; h->current_metadata->lines = 0; @@ -233,7 +233,6 @@ void reset_handler(handler* h) h->current_scan_status->downloaded_images = 0; h->current_scan_status->complete_scanned = 0; h->current_metadata->format = 1; - h->current_metadata->channels = 3; h->current_metadata->bytes_per_line = 0; h->current_metadata->pixels_per_line = 0; h->current_metadata->lines = 0; diff --git a/src/kds_s2000w_handler.h b/src/kds_s2000w_handler.h index bb06a82..bb6d4bf 100644 --- a/src/kds_s2000w_handler.h +++ b/src/kds_s2000w_handler.h @@ -20,7 +20,6 @@ typedef struct { typedef struct { int format; - int channels; int bytes_per_line; int pixels_per_line; int lines; diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 934ffa2..c007367 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -93,7 +93,6 @@ void _set_option_to_default(handler* h) capabilities = NULL; h->current_metadata->format = 1; - h->current_metadata->channels = 3; h->current_metadata->depth = 8; } @@ -265,15 +264,12 @@ void kds_s2000w_handler_set_option(handler* h, int option, void* value, int* inf char* str_Value = (char*) value; if (strcmp(str_Value, "Color") == 0) { h->current_metadata->format = 1; - h->current_metadata->channels = 3; h->current_metadata->depth = 8; } else if (strcmp(str_Value, "Gray") == 0) { h->current_metadata->format = 0; - h->current_metadata->channels = 1; h->current_metadata->depth = 8; } else { h->current_metadata->format = 0; - h->current_metadata->channels = 1; h->current_metadata->depth = 1; } diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index bc8a67e..84d19f6 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -166,7 +166,6 @@ void sane_kds_s2000w_net_start(void** state) assert_int_equal(result, SANE_STATUS_GOOD); assert_int_equal(h->current_scan_status->complete_scanned, 0); assert_int_equal(h->current_metadata->depth, 8); - assert_int_equal(h->current_metadata->channels, 3); assert_int_equal(h->current_metadata->format, 1); assert_int_equal(h->current_metadata->pixels_per_line, 2); assert_int_equal(h->current_metadata->lines, 1); @@ -235,7 +234,6 @@ void sane_kds_s2000w_net_start_one_page_per_flatscan(void** state) assert_int_equal(result, SANE_STATUS_GOOD); assert_int_equal(h->current_scan_status->complete_scanned, 0); assert_int_equal(h->current_metadata->depth, 8); - assert_int_equal(h->current_metadata->channels, 3); assert_int_equal(h->current_metadata->format, 1); assert_int_equal(h->current_metadata->pixels_per_line, 2); assert_int_equal(h->current_metadata->lines, 1); @@ -307,7 +305,6 @@ void sane_kds_s2000w_net_start_one_page_per_feeder(void** state) assert_int_equal(result, SANE_STATUS_GOOD); assert_int_equal(h->current_scan_status->complete_scanned, 1); assert_int_equal(h->current_metadata->depth, 8); - assert_int_equal(h->current_metadata->channels, 3); assert_int_equal(h->current_metadata->format, 1); assert_int_equal(h->current_metadata->pixels_per_line, 2); assert_int_equal(h->current_metadata->lines, 1); @@ -409,7 +406,6 @@ void sane_kds_s2000w_net_start_two_pages_per_feeder(void** state) assert_int_equal(result, SANE_STATUS_GOOD); assert_int_equal(h->current_scan_status->complete_scanned, 1); assert_int_equal(h->current_metadata->depth, 8); - assert_int_equal(h->current_metadata->channels, 3); assert_int_equal(h->current_metadata->format, 1); assert_int_equal(h->current_metadata->pixels_per_line, 2); assert_int_equal(h->current_metadata->lines, 1); @@ -510,7 +506,6 @@ void sane_kds_s2000w_net_start_slow_two_pages_per_feeder(void** state) assert_int_equal(result, SANE_STATUS_GOOD); assert_int_equal(h->current_scan_status->complete_scanned, 1); assert_int_equal(h->current_metadata->depth, 8); - assert_int_equal(h->current_metadata->channels, 3); assert_int_equal(h->current_metadata->format, 1); assert_int_equal(h->current_metadata->pixels_per_line, 2); assert_int_equal(h->current_metadata->lines, 1);