From 2db7e1d22d5ead1307143c3d9b4d9c793265faa9 Mon Sep 17 00:00:00 2001 From: Yaroslav Gurov Date: Sat, 5 Jul 2025 13:38:33 +0200 Subject: [PATCH] fix: revert changes of whitespaces handling --- src/config.c | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/src/config.c b/src/config.c index a2b35f1..a8be6d8 100644 --- a/src/config.c +++ b/src/config.c @@ -677,9 +677,6 @@ bool config_read_line(struct config_ctx *ctx, const char *input) size_t len, cleaned_len = 0; char *line, *comment; bool ret = true; - bool found_equals = false; - bool found_value_start = false; - size_t value_end = 0; /* This is what strchrnul is for, but that isn't portable. */ comment = strchr(input, COMMENT_CHAR); @@ -695,35 +692,9 @@ bool config_read_line(struct config_ctx *ctx, const char *input) goto out; } - /* Remove preceding and trailing whitespaces before value - First pass: find the actual end of the value (trim trailing spaces) */ - for (size_t i = len; i > 0; --i) { - if (!char_is_space(input[i - 1])) { - value_end = i; - break; - } - } - - /* Second pass: clean according to KEY = VALUE rules */ - for (size_t i = 0; i < value_end; ++i) { - if (!found_equals) { - /* Before '=': remove all whitespace */ - if (input[i] == '=') { - line[cleaned_len++] = input[i]; - found_equals = true; - } else if (!char_is_space(input[i])) { - line[cleaned_len++] = input[i]; - } - } else if (!found_value_start) { - /* After '=' but before value: skip whitespace until first non-space */ - if (!char_is_space(input[i])) { - line[cleaned_len++] = input[i]; - found_value_start = true; - } - } else { - /* Within value: preserve all characters including spaces */ + for (size_t i = 0; i < len; ++i) { + if (!char_is_space(input[i])) line[cleaned_len++] = input[i]; - } } if (!cleaned_len)