readed_bytes_per_line += *length;
read_size += *length;
- printf("read size %i\n", read_size);
if (readed_bytes_per_line >= current_metadata.bytes_per_line) {
+ readed_bytes_per_line = 0;
readed_lines++;
}
int* cancel = get_cancel();
*cancel = 0;
metadata* current_metadata_ptr = get_current_metadata();
- char* image = malloc(sizeof(char) * 4);
+ char* image = malloc(sizeof(char) * 53);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[4] = 0xff;
- current_metadata.image = image;
- current_metadata_ptr->lines = 1;
+ current_metadata_ptr->image = image;
+ current_metadata_ptr->bytes_per_line = 10;
+ current_metadata_ptr->lines = 5;
+
int* readed_lines = get_readed_lines();
*readed_lines = 0;
int* length = malloc(sizeof(int));
*length = 0;
- _sane_kds_s2000w_net_read(NULL, NULL, 0, length);
- SANE_Status status = _sane_kds_s2000w_net_read(NULL, NULL, 0, length);
+ SANE_Int maxlen = 65536;
+ char* dataptr = malloc(sizeof(char) * maxlen);
+
+ SANE_Status status = 0;
+ for (int i = 0; i < 6; i++) {
+ status = _sane_kds_s2000w_net_read(NULL, dataptr, 65535, length);
+ }
ck_assert_int_eq(status, SANE_STATUS_EOF);
+ free(dataptr);
+ dataptr = NULL;
free(length);
length = NULL;
free(image);