]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move parsed / referenced bools to CONF_ITEM
authorAlan T. DeKok <aland@freeradius.org>
Thu, 29 Jan 2026 18:26:49 +0000 (13:26 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 29 Jan 2026 19:32:23 +0000 (14:32 -0500)
so that we can also use them for CONF_SECTION

src/lib/server/cf_file.c
src/lib/server/cf_parse.c
src/lib/server/cf_util.c

index fa705728d26a55e354c6464f98b35ff77eb1622d..8855517164bc8a85384e8e29e38086648c614cc4 100644 (file)
@@ -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;
 
index 84cca27b8ce561907e7615d34e2580504905da69..8effe2ce9656cabcb9c2db90a66af406b394586b 100644 (file)
@@ -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,
index 72f1a6c647d550dd921a6f7337a95a61858eafc5..059b39526a4673fb1e98ad468e5aebbc76a74576 100644 (file)
@@ -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, "<INVALID>"));
                DEBUG("  rhs_quote     : %s", fr_table_str_by_value(fr_token_quotes_table, cp->rhs_quote, "<INVALID>"));
                DEBUG("  pass2         : %s", cp->pass2 ? "yes" : "no");
-               DEBUG("  parsed        : %s", cp->parsed ? "yes" : "no");
+               DEBUG("  parsed        : %s", cp->item.parsed ? "yes" : "no");
        }
                break;