]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add get full descriptor by number
authorBastian Dehn <hhaalo@arcor.de>
Mon, 22 Sep 2025 06:03:12 +0000 (08:03 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 22 Sep 2025 06:03:12 +0000 (08:03 +0200)
src/kds_s2000w_option_descriptors.c
src/kds_s2000w_option_descriptors.h
tests/kds_s2000w_option_descriptor_tests.c
tests/kds_s2000w_option_descriptor_tests.h
tests/kds_s2000w_option_descriptor_tests_run.c

index b4aa55209cce3fe5cdf2203c89a084f0bc58c659..e776150a3cba8f56aef2e129848c618478efad1d 100644 (file)
@@ -1246,6 +1246,16 @@ void kds_s2000w_option_descriptors_free()
        descriptors = NULL;
 }
 
+option_descriptor* kds_s2000w_option_descriptor_full_get_by_number(uint32_t number)
+{
+       kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_full_get_by_number");
+
+       if (number >= MAX_OPTION_COUNT)
+               return NULL;
+
+       return descriptors[number];
+}
+
 SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_number(uint32_t number)
 {
        kds_s2000w_debug_printf(ALL, "kds_s2000w_option_get_descriptor");
index 9e0ae18c60e785231d57e5054a9d841e8227c58a..ee36a9c9a1a8d8754aacc3ccc3ee2ecc3890c4a2 100644 (file)
@@ -11,6 +11,7 @@ typedef struct {
 void kds_s2000w_option_descriptors_init();
 void kds_s2000w_option_descriptors_free();
 
+option_descriptor* kds_s2000w_option_descriptor_full_get_by_number(uint32_t number);
 SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_number(uint32_t number);
 SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_name(const char* name);
 
index bc5abfd039a90d253d06856fd210fa53c65acd89..1e7c9ec42e85e5eeb641d40c6b48e983a95c4bff 100644 (file)
@@ -833,5 +833,19 @@ void kds_s2000w_option_get_descriptor_over_max_options_test()
 {
        SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get_by_number(MAX_OPTION_COUNT);
 
+       assert_null(option);
+}
+
+void kds_s2000w_option_full_get_descriptor_by_number()
+{
+       option_descriptor* option = kds_s2000w_option_descriptor_full_get_by_number(31);
+
+       assert_string_equal(option->config_name, "Reset");
+}
+
+void kds_s2000w_option_full_get_descriptor_over_max_options_test()
+{
+       option_descriptor* option = kds_s2000w_option_descriptor_full_get_by_number(MAX_OPTION_COUNT);
+
        assert_null(option);
 }
\ No newline at end of file
index 938952a0380304b809a0df98f6b118741dc7fede..0e5cefee0ac72e323c893e0e87621797cc02fabe 100644 (file)
@@ -57,4 +57,6 @@ void kds_s2000w_option_get_descriptor_fourtyfive_test();
 void kds_s2000w_option_get_descriptor_fourtysix_test();
 void kds_s2000w_option_get_descriptor_get_by_name_test();
 void kds_s2000w_option_get_descriptor_over_max_options_test();
+void kds_s2000w_option_full_get_descriptor_by_number();
+void kds_s2000w_option_full_get_descriptor_over_max_options_test();
 #endif
\ No newline at end of file
index f3ef88d6144d407f693f196647f889772e676c39..f18fa002767499e496a913e112557c1bbb24be99 100644 (file)
@@ -52,6 +52,8 @@ int main()
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_fourtysix_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_get_by_name_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_over_max_options_test, setup, teardown),
+               cmocka_unit_test_setup_teardown(kds_s2000w_option_full_get_descriptor_by_number, setup, teardown),
+               cmocka_unit_test_setup_teardown(kds_s2000w_option_full_get_descriptor_over_max_options_test, setup, teardown),
        };
 
        return cmocka_run_group_tests(option_descriptor_tests, NULL, NULL);