From 9dbf13ad528d83a92197683f25bd5eec3ae047d0 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 2 Mar 2024 20:28:07 +0100 Subject: [PATCH] fix length of key --- src/kds_s2000w_config.c | 19 +++++++------------ tests/kds_s2000w_read_config_tests.c | 2 +- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/kds_s2000w_config.c b/src/kds_s2000w_config.c index 70c856a..b2c68a6 100644 --- a/src/kds_s2000w_config.c +++ b/src/kds_s2000w_config.c @@ -18,11 +18,11 @@ typedef struct { void trim_key_whitespace_before(config_value* value) { int before = 0; - while(value->key[before] == ' ' && before < value->value_length) { + while(value->key[before] == ' ' && before < value->key_length) { before++; } - if (value->value_length <= before) + if (value->key_length <= before) return; int new_length = value->key_length - before; @@ -37,12 +37,13 @@ void trim_key_whitespace_before(config_value* value) void trim_key_whitespace_after(config_value* value) { + printf("key %s0\n", value->key); int after = 0; - while(value->key[after] != ' ' && after < value->value_length) { + while(value->key[after] != ' ' && after < value->key_length) { after++; } - if (value->value_length <= after) + if (value->key_length <= after) return; int new_length = after + 1; @@ -56,12 +57,6 @@ void trim_key_whitespace_after(config_value* value) value->key_length = new_length; } -void trim_key(config_value* value) -{ - trim_key_whitespace_before(value); - trim_key_whitespace_after(value); -} - void trim_value_whitespace_before(config_value* value) { int before = 0; @@ -129,10 +124,10 @@ void get_key(config_line* line, config_value* value) while(line->line[delimiter] != '=') { delimiter++; } - value->key_length = delimiter; + value->key_length = delimiter + 1; value->key = malloc(sizeof(char) * value->key_length); - memcpy(value->key, line->line, value->key_length - 1); + memcpy(value->key, line->line, value->key_length); value->key[value->key_length - 1] = '\0'; } diff --git a/tests/kds_s2000w_read_config_tests.c b/tests/kds_s2000w_read_config_tests.c index a904d21..304377f 100644 --- a/tests/kds_s2000w_read_config_tests.c +++ b/tests/kds_s2000w_read_config_tests.c @@ -19,7 +19,7 @@ END_TEST START_TEST(kds_s2000w_config_read_parameters_without_trim) { - const char* input_stream = "scanner_url =http://scanner.example.com\n"; + const char* input_stream = "scanner_url=http://scanner.example.com\n"; program_config* config = malloc(sizeof(program_config)); loadConfig(config, input_stream); -- 2.39.5