From: Alan T. DeKok Date: Thu, 29 Jan 2026 18:26:49 +0000 (-0500) Subject: move parsed / referenced bools to CONF_ITEM X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c89e9d129b61a92a7221b0a9ea45388b26e5a302;p=thirdparty%2Ffreeradius-server.git move parsed / referenced bools to CONF_ITEM so that we can also use them for CONF_SECTION --- diff --git a/src/lib/server/cf_file.c b/src/lib/server/cf_file.c index fa705728d26..8855517164b 100644 --- a/src/lib/server/cf_file.c +++ b/src/lib/server/cf_file.c @@ -363,7 +363,7 @@ char const *cf_expand_variables(char const *cf, int lineno, } strcpy(p, cp->value); - cp->referenced = true; + cp->item.referenced = true; p += strlen(p); ptr = next; diff --git a/src/lib/server/cf_parse.c b/src/lib/server/cf_parse.c index 84cca27b8ce..8effe2ce965 100644 --- a/src/lib/server/cf_parse.c +++ b/src/lib/server/cf_parse.c @@ -890,7 +890,7 @@ static int cf_section_parse_init(CONF_SECTION *cs, void *base, conf_parser_t con * Don't re-initialize data which was already parsed. */ cp = cf_pair_find(cs, rule->name1); - if (cp && cp->parsed) return 0; + if (cp && cp->item.parsed) return 0; if ((rule->type != FR_TYPE_STRING) && (!(rule->flags & CONF_FLAG_FILE_READABLE)) && @@ -922,7 +922,7 @@ static void cf_section_parse_warn(CONF_SECTION *cs) CONF_PAIR *cp; cp = cf_item_to_pair(ci); - if (cp->parsed || cp->referenced || (ci->lineno < 0)) continue; + if (cp->item.parsed || cp->item.referenced || (ci->lineno < 0)) continue; WARN("%s[%d]: The item '%s' is defined, but is unused by the configuration", ci->filename, ci->lineno, diff --git a/src/lib/server/cf_util.c b/src/lib/server/cf_util.c index 72f1a6c647d..059b39526a4 100644 --- a/src/lib/server/cf_util.c +++ b/src/lib/server/cf_util.c @@ -1315,7 +1315,10 @@ CONF_PAIR *cf_pair_dup(CONF_SECTION *parent, CONF_PAIR *cp, bool copy_meta) new = cf_pair_alloc(parent, cp->attr, cf_pair_value(cp), cp->op, cp->lhs_quote, cp->rhs_quote); if (!new) return NULL; - if (copy_meta) new->parsed = cp->parsed; + if (copy_meta) { + new->item.parsed = cp->item.parsed; + new->item.referenced = cp->item.referenced; + } cf_lineno_set(new, cp->item.lineno); cf_filename_set(new, cp->item.filename); @@ -1362,7 +1365,7 @@ int cf_pair_replace(CONF_SECTION *cs, CONF_PAIR *cp, char const *value) */ void cf_pair_mark_parsed(CONF_PAIR *cp) { - cp->parsed = true; + cp->item.parsed = true; } /** Return whether a pair has already been parsed @@ -1374,7 +1377,7 @@ void cf_pair_mark_parsed(CONF_PAIR *cp) */ bool cf_pair_is_parsed(CONF_PAIR *cp) { - return cp->parsed; + return cp->item.parsed; } /** Return the first child that's a #CONF_PAIR @@ -2293,7 +2296,7 @@ void _cf_item_debug(CONF_ITEM const *ci) DEBUG(" lhs_quote : %s", fr_table_str_by_value(fr_token_quotes_table, cp->lhs_quote, "")); DEBUG(" rhs_quote : %s", fr_table_str_by_value(fr_token_quotes_table, cp->rhs_quote, "")); DEBUG(" pass2 : %s", cp->pass2 ? "yes" : "no"); - DEBUG(" parsed : %s", cp->parsed ? "yes" : "no"); + DEBUG(" parsed : %s", cp->item.parsed ? "yes" : "no"); } break;