value->value[value->value_length] = '\0';
}
-void loadConfig(program_config* config, const char* config_stream)
+void read_config_file(const char* filename, char* config_stream)
+{
+ FILE* config_file = fopen(filename, "r");
+
+ int char_count = 0;
+ char* buf = malloc(sizeof(char));
+ while(fread(buf, 1, 1, config_file) != 0) {
+ char_count++;
+ }
+ rewind(config_file);
+
+ config_stream = malloc(sizeof(char) * char_count);
+ fread(config_stream, sizeof(char), char_count, config_file);
+ fclose(config_file);
+}
+
+void load_config(program_config* config, const char* config_stream)
{
config->scanner_url = NULL;
if (strlen(config_stream) == 0) {
int stream_pos = 0;
-
while(strlen(config_stream) > stream_pos) {
free(line.line);
line.line = NULL;
char* username;
} program_config;
-void loadConfig(program_config* config, const char* config_stream);
+void read_config_file(const char* filename, char* config_stream);
+void load_config(program_config* config, const char* config_stream);
#endif
\ No newline at end of file
const char* input_stream = " scanner_url = http://scanner.example.com \n";
program_config* config = malloc(sizeof(program_config));
- loadConfig(config, input_stream);
+ load_config(config, input_stream);
ck_assert_str_eq(config->scanner_url, "http://scanner.example.com");
const char* input_stream = "scanner_url=http://scanner.example.com\n";
program_config* config = malloc(sizeof(program_config));
- loadConfig(config, input_stream);
+ load_config(config, input_stream);
ck_assert_str_eq(config->scanner_url, "http://scanner.example.com");
const char* input_stream = "scanner_url=http://scanner.example.com\nusername=Mustermann\n";
program_config* config = malloc(sizeof(program_config));
- loadConfig(config, input_stream);
+ load_config(config, input_stream);
ck_assert_str_eq(config->scanner_url, "http://scanner.example.com");
ck_assert_str_eq(config->username, "Mustermann");
const char* input_stream = "";
program_config* config = malloc(sizeof(program_config));
- loadConfig(config, input_stream);
+ load_config(config, input_stream);
ck_assert_ptr_null(config->scanner_url);
#include <stdlib.h>
#include "../src/kds_s2000w_config.h"
-int main()
+int main(int argc, char** argv)
{
program_config* config = malloc(sizeof(program_config));
+
+ char* config_stream = NULL;
+ read_config_file(argv[1], config_stream);
+
+ free(config_stream);
+ config_stream = NULL;
+
return 0;
}
\ No newline at end of file