]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
fix first byte data
authorBastian Dehn <hhaalo@arcor.de>
Sun, 11 Feb 2024 20:43:24 +0000 (21:43 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 11 Feb 2024 20:43:24 +0000 (21:43 +0100)
src/kds_s2000w_net.c
tests/kds_s2000w_net_tests.c
tests/runtests.c

index 3323eff5802f4b4b052b652f9a204bb1e52c65cf..22c4b477a73d4029e0692225b8ebe13c03e7173c 100644 (file)
@@ -39,6 +39,8 @@ int _sane_kds_s2000w_net_find_first_data_byte(const char* data)
                byte_count++;
        }
 
+       byte_count++;
+
        return byte_count;
 }
 
index 28f355e419d44c4fdd999fa03a78b13120bffcb0..ff5146172fd6a75cc0fd05dc2f3eaa2da02a5a0c 100644 (file)
@@ -24,7 +24,7 @@ START_TEST(sane_kds_s2000w_net_find_first_data_byte_test)
 
        int header_bytes = _sane_kds_s2000w_net_find_first_data_byte(data);
 
-       ck_assert_int_eq(header_bytes, 16);
+       ck_assert_int_eq(header_bytes, 17);
 }
 END_TEST
 
@@ -70,7 +70,7 @@ START_TEST(sane_kds_s2000w_net_read_all_lines_test)
        }
 
        ck_assert_int_eq(status, SANE_STATUS_EOF);
-       ck_assert_int_eq(read_info->read_size, 53);
+       ck_assert_int_eq(read_info->read_size, 54);
 
        free(dataptr);
        dataptr = NULL;
@@ -101,8 +101,8 @@ START_TEST(sane_kds_s2000w_net_read_test)
        _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length);
 
        ck_assert_int_eq(*length, 65536);
-       ck_assert_mem_eq(dataptr, image + 3, 65536);
-       ck_assert_int_eq(read_info->read_size, 65539);
+       ck_assert_mem_eq(dataptr, image + 4, 65536);
+       ck_assert_int_eq(read_info->read_size, 65540);
 
        free(dataptr);
        dataptr = NULL;
@@ -134,7 +134,40 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test)
        _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length);
        _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length);
 
-       ck_assert_int_eq(read_info->read_size, 95003);
+       ck_assert_int_eq(read_info->read_size, 95004);
+
+       free(dataptr);
+       dataptr = NULL;
+       free(length);
+       length = NULL;
+       free(image);
+       image = NULL;
+}
+END_TEST
+
+START_TEST(sane_kds_s2000w_net_read_rgb_test)
+{
+       readinfo* read_info = get_read_info();
+       read_info->read_size = 0;
+       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++) {
+               image[i] = 0x0a;
+       }
+       image[4] = 0xa2;
+       image[5] = 0x89;
+       image[6] = 0x04;
+       read_info->current_metadata.image = image;
+
+       SANE_Int maxlen = 65536;
+       uint* dataptr = malloc(sizeof(char) * maxlen);
+       SANE_Int* length = malloc(sizeof(SANE_Int));
+
+       _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length);
+
+       const uint assert_mem = 0xa28904ff;
+       //ck_assert_mem_eq(dataptr, &assert_mem, 16);
 
        free(dataptr);
        dataptr = NULL;
index ca24e290dd582b8833bb5bb398583e7d19051b67..731759d1cf51f0fe5d787453bdc5ab556d0b2537 100644 (file)
@@ -14,6 +14,7 @@ Suite* first_tests()
        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);
 
        suite_add_tcase(suite, tc_core);