maxlen = read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line;
*length = maxlen;
- memcpy(data, read_info.current_metadata.image + read_info.read_size, *length);
+ if (read_info.current_metadata.format == 0) {
+ memcpy(data, read_info.current_metadata.image + read_info.read_size, *length);
+ } else {
+ uint* dataptr = (uint*) data;
+ unsigned char* imageptr = (unsigned char*) read_info.current_metadata.image;
+ int current_length = 0;
+ for (int i = 0; current_length < *length; i++) {
+ dataptr[i] = imageptr[read_info.read_size + i];
+ current_length += sizeof(int);
+ }
+ }
read_info.readed_bytes_per_line += *length;
read_info.read_size += *length;
readinfo* read_info = get_read_info();
read_info->read_size = 0;
read_info->current_metadata.format = 1;
- read_info->current_metadata.lines = 10;
+ read_info->current_metadata.lines = 1;
read_info->current_metadata.bytes_per_line = 65536;
char* image = malloc(sizeof(char) * 65539);
for (int i = 0; i < 3; i++) {
tcase_add_test(tc_core, sane_kds_s2000w_net_read_all_lines_test);
tcase_add_test(tc_core, sane_kds_s2000w_net_read_test);
tcase_add_test(tc_core, sane_kds_s2000w_net_read_bytes_per_line_bigger_test);
- //tcase_add_test(tc_core, sane_kds_s2000w_net_read_rgb_test);
+ tcase_add_test(tc_core, sane_kds_s2000w_net_read_rgb_test);
suite_add_tcase(suite, tc_core);