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);
image->data = 0;
h->current_metadata->valid = 0;
- h->current_metadata->channels = 1;
if (strcmp(color_value, "Color") == 0)
h->current_metadata->format = 1;
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;
#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;
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;
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;
typedef struct {
int format;
- int channels;
int bytes_per_line;
int pixels_per_line;
int lines;
capabilities = NULL;
h->current_metadata->format = 1;
- h->current_metadata->channels = 3;
h->current_metadata->depth = 8;
}
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;
}
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);
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);
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);
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);
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);