return ¤t_metadata;
}
+int* get_read_size()
+{
+ return &read_size;
+}
+
int _sane_kds_s2000w_net_find_first_data_byte(const char* data)
{
const int header_spaces = 3;
}
*length = maxlen;
- memcpy(data, current_metadata.image + skip_header_bytes + read_size, *length);
+ memcpy(data, current_metadata.image + read_size, *length);
readed_bytes_per_line += *length;
read_size += *length;
// test helper method
metadata* get_current_metadata();
+int* get_read_size();
int _sane_kds_s2000w_net_find_first_data_byte(const char* data);
SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback authorize);
START_TEST(_sane_kds_s2000w_net_read_test)
{
metadata* current_metadata_ptr = get_current_metadata();
+ int* read_size = get_read_size();
+ *read_size = 0;
current_metadata_ptr->scanned_all_complete = 1;
current_metadata_ptr->lines = 1;
current_metadata_ptr->bytes_per_line = 65536;
- char* image = malloc(sizeof(char) * 65536);
- for (int i = 0; i < 65536; i++) {
+ char* image = malloc(sizeof(char) * 65539);
+ for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
+ image[4] = 0xff;
current_metadata_ptr->image = image;
SANE_Int maxlen = 65536;
_sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length);
ck_assert_int_eq(*length, 65536);
+ ck_assert_mem_eq(dataptr, image + 3, 65536);
free(dataptr);
dataptr = NULL;