]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change config load return alloc config
authorBastian Dehn <hhaalo@arcor.de>
Wed, 1 Jan 2025 19:29:47 +0000 (20:29 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 1 Jan 2025 19:29:47 +0000 (20:29 +0100)
CMakeLists.txt
src/kds_s2000w_client.c
src/kds_s2000w_config.c
src/kds_s2000w_config.h
tests/kds_s2000w_read_config_tests.c

index cba60677860451f8fbf9cbe90f6e53cd4e82f485..259c257baae05399402c95d5660afd56b22a7e97 100644 (file)
@@ -34,7 +34,6 @@ IF (RUN_TESTS)
 --wrap,kds_s2000w_client_set_option,\
 --wrap,kds_s2000w_client_init,\
 --wrap,kds_s2000w_client_free,\
---wrap,load_config,\
 --wrap,wait_a_second,\
 --wrap,usleep" CACHE STRING "test coverage compiler flags" FORCE)
 ENDIF()
index 8ab2f82cf27b1a38e4aee474e0069dfd263ecdaa..4afca9d5d7e9e747d2d2a5410b621d482ce07bfd 100644 (file)
@@ -46,8 +46,7 @@ void _kds_s2000w_client_load_config()
        if (config_stream == NULL)
                return;
 
-       config = malloc(sizeof(program_config));
-       load_config(config, config_stream);
+       config = load_config(config_stream);
 
        free(config_stream);
        config_stream = NULL;
index b979648f3570b2591f0ee19e58290b659b729533..9408e4fd81af0afffa1fd23815572d83077b585b 100644 (file)
@@ -42,8 +42,9 @@ char* read_config_file(const char* filename)
        return config_stream;
 }
 
-void load_config(program_config* config, const char* config_stream)
+program_config* load_config(const char* config_stream)
 {
+       program_config* config = malloc(sizeof(program_config));
        config->scanner_url = NULL;
        config->username = NULL;
        config->heartbeat = 1;
@@ -54,7 +55,7 @@ void load_config(program_config* config, const char* config_stream)
        size_t str_length = 0;
 
        if (strlen(config_stream) <= 0)
-               return;
+               return config;
 
        cfg_opt_t opts[] = {
                CFG_STR("username", "", CFGF_NONE),
@@ -86,4 +87,6 @@ void load_config(program_config* config, const char* config_stream)
 
        cfg_free(cfg);
        cfg = NULL;
+
+       return config;
 }
\ No newline at end of file
index d56557eea6253ab12afb7c2fb2850d97577f4540..a739b54e0490094e019a17e988cb8476303c515a 100644 (file)
@@ -10,5 +10,5 @@ typedef struct {
 
 void free_config(program_config* config);
 char* read_config_file(const char* filename);
-void load_config(program_config* config, const char* config_stream);
+program_config* load_config(const char* config_stream);
 #endif
\ No newline at end of file
index dfa70847c8644ccc0e5ec54b25cecec8712f30ae..602c2952cf6c7a5f1463ef0415433ada61677714 100644 (file)
@@ -6,13 +6,6 @@
 #include "../src/kds_s2000w_config.h"
 #include "../src/kds_s2000w_image_converter.h"
 
-extern typeof (load_config) __real_load_config;
-
-void __wrap_load_config(program_config* config, const char* config_stream)
-{
-       __real_load_config(config, config_stream);
-}
-
 void __wrap_wait_a_second()
 {
        return;
@@ -22,8 +15,7 @@ void kds_s2000w_config_read_parameter()
 {
        const char* input_stream = "   scanner_url   =   http://scanner.example.com    \n";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_string_equal(config->scanner_url, "http://scanner.example.com");
 
@@ -39,8 +31,7 @@ void kds_s2000w_config_read_parameters_without_trim()
 {
        const char* input_stream = "scanner_url=http://scanner.example.com\n";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_string_equal(config->scanner_url, "http://scanner.example.com");
 
@@ -56,8 +47,7 @@ void kds_s2000w_config_multiple_parameters()
 {
        const char* input_stream = "scanner_url=http://scanner.example.com\nusername=Mustermann\n";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_string_equal(config->scanner_url, "http://scanner.example.com");
        assert_string_equal(config->username, "Mustermann");
@@ -74,8 +64,7 @@ void kds_s2000w_config_read_empty_config()
 {
        const char* input_stream = "";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_null(config->scanner_url);
 
@@ -91,8 +80,7 @@ void kds_s200w_config_default_heartbeat()
 {
        const char* input_stream = "";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_int_equal(config->heartbeat, 1);
 
@@ -104,8 +92,7 @@ void kds_s200w_config_default_heartbeat_five_seconds()
 {
        const char* input_stream = "heartbeat_seconds = 5\n";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_int_equal(config->heartbeat, 5);
 
@@ -121,8 +108,7 @@ void kds_s200w_config_default_heartbeat_zero_set_default()
 {
        const char* input_stream = "heartbeat_seconds = 0\n";
 
-       program_config* config = malloc(sizeof(program_config));
-       load_config(config, input_stream);
+       program_config* config = load_config(input_stream);
 
        assert_int_equal(config->heartbeat, 1);