From: Bastian Dehn Date: Sun, 3 Mar 2024 08:45:36 +0000 (+0100) Subject: get config stream return value X-Git-Tag: v1.0.0^2~142 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=d86c15751db6ef18bc4e79104b9193ef9d260afc;p=sane-kds-s2000w-net.git get config stream return value --- diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index 6ca6462..144c314 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -10,8 +10,7 @@ program_config p_config; void _kds_s2000w_client_load_config() { const char* config_file = "/etc/sane.d/kds_s2000w_net.conf"; - char* config_stream = NULL; - read_config_file(config_file, &config_stream); + char* config_stream = read_config_file(config_file); load_config(&p_config, config_stream); } diff --git a/src/kds_s2000w_config.c b/src/kds_s2000w_config.c index efaa1fe..79c0d24 100644 --- a/src/kds_s2000w_config.c +++ b/src/kds_s2000w_config.c @@ -3,10 +3,9 @@ #include #include "kds_s2000w_config.h" -void read_config_file(const char* filename, char** config_stream) +char* read_config_file(const char* filename) { - free(*config_stream); - *config_stream = NULL; + char* config_stream = NULL; FILE* config_file = fopen(filename, "r"); @@ -17,10 +16,12 @@ void read_config_file(const char* filename, char** config_stream) } fseek(config_file, 0L, SEEK_SET); - *config_stream = malloc(sizeof(char) * char_count); - fread(*config_stream, char_count, 1, config_file); + config_stream = malloc(sizeof(char) * char_count); + fread(config_stream, char_count, 1, config_file); fclose(config_file); config_file = NULL; + + return config_stream; } void load_config(program_config* config, const char* config_stream) diff --git a/src/kds_s2000w_config.h b/src/kds_s2000w_config.h index 94ad4c4..8eadc7f 100644 --- a/src/kds_s2000w_config.h +++ b/src/kds_s2000w_config.h @@ -6,6 +6,6 @@ typedef struct { char* username; } program_config; -void read_config_file(const char* filename, char** config_stream); +char* read_config_file(const char* filename); void load_config(program_config* config, const char* config_stream); #endif \ No newline at end of file diff --git a/tools/read_config.c b/tools/read_config.c index a2028e1..849cbed 100644 --- a/tools/read_config.c +++ b/tools/read_config.c @@ -5,10 +5,9 @@ int main(int argc, char** argv) { program_config* config = malloc(sizeof(program_config)); - char* config_stream = NULL; printf("config file %s\n", argv[1]); - read_config_file(argv[1], &config_stream); + char* config_stream = read_config_file(argv[1]); load_config(config, config_stream); printf("scanner_url: %s\n", config->scanner_url);