From: Timo Sirainen Date: Mon, 10 Feb 2025 12:00:43 +0000 (+0200) Subject: config: Use isspace() for checking whitespace X-Git-Tag: 2.4.1~217 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ca5751f5a7d501647abfbcee3793ab9940dc84b9;p=thirdparty%2Fdovecot%2Fcore.git config: Use isspace() for checking whitespace --- diff --git a/src/config/config-parser.c b/src/config/config-parser.c index cfeede53db..2cfb3ec4cc 100644 --- a/src/config/config-parser.c +++ b/src/config/config-parser.c @@ -25,6 +25,7 @@ #include #include #include +#include #ifdef HAVE_GLOB_H # include #endif @@ -1746,7 +1747,7 @@ config_parse_line(struct config_parser_context *ctx, /* @UNSAFE: line is modified */ /* skip whitespace */ - while (IS_WHITE(*line)) + while (i_isspace(*line)) line++; /* ignore comments or empty lines */ @@ -1766,7 +1767,7 @@ config_parse_line(struct config_parser_context *ctx, if (*p == '\0') break; } else if (*p == '#') { - if (!IS_WHITE(p[-1])) { + if (!i_isspace(p[-1])) { i_warning("Configuration file %s line %u: " "Ambiguous '#' character in line, treating it as comment. " "Add a space before it to remove this warning.", @@ -1781,7 +1782,7 @@ config_parse_line(struct config_parser_context *ctx, /* remove whitespace from end of line */ len = strlen(line); while (len >= 1) { - if(!IS_WHITE(line[len-1])) + if(!i_isspace(line[len-1])) break; len--; } @@ -1791,7 +1792,7 @@ config_parse_line(struct config_parser_context *ctx, /* continues in next line */ len--; while (len >= 1) { - if(!IS_WHITE(line[len-1])) + if(!i_isspace(line[len-1])) break; len--; } @@ -1823,12 +1824,12 @@ config_parse_line(struct config_parser_context *ctx, line++; } } else { - while (!IS_WHITE(*line) && *line != '\0' && *line != '=') + while (!i_isspace(*line) && *line != '\0' && *line != '=') line++; } - if (IS_WHITE(*line)) { + if (i_isspace(*line)) { *line++ = '\0'; - while (IS_WHITE(*line)) line++; + while (i_isspace(*line)) line++; } config_line_r->key = key; config_line_r->value = line; @@ -1845,10 +1846,10 @@ config_parse_line(struct config_parser_context *ctx, if (*line == '=') { /* a) */ *line++ = '\0'; - while (IS_WHITE(*line)) line++; + while (i_isspace(*line)) line++; if (*line == '<') { - while (IS_WHITE(line[1])) line++; + while (i_isspace(line[1])) line++; config_line_r->value = line + 1; config_line_r->type = CONFIG_LINE_TYPE_KEYFILE; return; @@ -1886,7 +1887,7 @@ config_parse_line(struct config_parser_context *ctx, } else if (strcmp(key, "group") == 0) { /* group @group name { */ config_line_r->key = line; - while (!IS_WHITE(*line) && *line != '\0') + while (!i_isspace(*line) && *line != '\0') line++; if (*line == '\0') { config_line_r->value = "Expecting group name"; @@ -1894,11 +1895,11 @@ config_parse_line(struct config_parser_context *ctx, return; } *line++ = '\0'; - while (IS_WHITE(*line)) + while (i_isspace(*line)) line++; config_line_r->value = line; - while (!IS_WHITE(*line) && *line != '\0') + while (!i_isspace(*line) && *line != '\0') line++; if (*line == '\0') { config_line_r->value = "Expecting '{'"; @@ -1906,7 +1907,7 @@ config_parse_line(struct config_parser_context *ctx, return; } *line++ = '\0'; - while (IS_WHITE(*line)) + while (i_isspace(*line)) line++; if (*line != '{') { config_line_r->value = "Expecting '{'"; @@ -1919,11 +1920,11 @@ config_parse_line(struct config_parser_context *ctx, /* get section name */ if (*line != '"') { config_line_r->value = line; - while (!IS_WHITE(*line) && *line != '\0') + while (!i_isspace(*line) && *line != '\0') line++; if (*line != '\0') { *line++ = '\0'; - while (IS_WHITE(*line)) + while (i_isspace(*line)) line++; } } else { @@ -1932,7 +1933,7 @@ config_parse_line(struct config_parser_context *ctx, line++; if (*line == '"') { *line++ = '\0'; - while (IS_WHITE(*line)) + while (i_isspace(*line)) line++; config_line_r->value = str_unescape(value); config_line_r->value_quoted = TRUE; @@ -2414,9 +2415,9 @@ static int config_write_keyvariable(struct config_parser_context *ctx, str_append_c(str, ' '); /* find next token */ - while (*var_end != '\0' && IS_WHITE(*var_end)) var_end++; + while (*var_end != '\0' && i_isspace(*var_end)) var_end++; value = var_end; - while (*var_end != '\0' && !IS_WHITE(*var_end)) var_end++; + while (*var_end != '\0' && !i_isspace(*var_end)) var_end++; } return 0; diff --git a/src/config/config-parser.h b/src/config/config-parser.h index 0633537d1f..307c6ecd0d 100644 --- a/src/config/config-parser.h +++ b/src/config/config-parser.h @@ -5,8 +5,6 @@ #define CONFIG_MODULE_DIR MODULEDIR"/settings" -#define IS_WHITE(c) ((c) == ' ' || (c) == '\t') - /* change_counter used for default settings created internally */ #define CONFIG_PARSER_CHANGE_DEFAULTS 1 /* change_counter used for settings changed by configuration file */ diff --git a/src/config/doveconf.c b/src/config/doveconf.c index 655c7a526d..951656ccd6 100644 --- a/src/config/doveconf.c +++ b/src/config/doveconf.c @@ -206,7 +206,7 @@ static bool value_need_quote(const char *value) if (strchr(value, '#') != NULL) return TRUE; - if (IS_WHITE(value[0]) || IS_WHITE(value[len-1])) + if (i_isspace(value[0]) || i_isspace(value[len-1])) return TRUE; return FALSE; }