]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move to using cf_item_mark_parsed() and cf_item_is_parsed()
authorAlan T. DeKok <aland@freeradius.org>
Thu, 29 Jan 2026 18:34:08 +0000 (13:34 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 29 Jan 2026 19:32:23 +0000 (14:32 -0500)
src/lib/kafka/base.c
src/lib/server/cf_parse.c
src/lib/server/cf_priv.h
src/lib/server/cf_util.c
src/lib/server/cf_util.h
src/modules/rlm_sql/sql_state.c

index b72898d9969f18c491f7f111539ed06389d09c51..1c7681800a98d097b3ce03d15c4c6bbead3bbd8f 100644 (file)
@@ -191,7 +191,7 @@ static int kafka_config_dflt_single(CONF_PAIR **out, UNUSED void *parent, CONF_S
        }
 
        MEM(*out = cf_pair_alloc(cs, rule->name1, value, T_OP_EQ, T_BARE_WORD, quote));
-       cf_pair_mark_parsed(*out);      /* Don't re-parse this */
+       cf_item_mark_parsed(*out);      /* Don't re-parse this */
 
        return 0;
 }
@@ -460,7 +460,7 @@ static int kafka_config_parse(TALLOC_CTX *ctx, UNUSED void *out, UNUSED void *ba
                     cp_p;
                     cp_p = cf_pair_find_next(cs, cp_p, rule->name1), i++) {
                        if (kafka_config_parse_single(&array[i], cp_p, rule) < 0) return -1;
-                       cf_pair_mark_parsed(cp_p);
+                       cf_item_mark_parsed(cp_p);
                }
 
                slen = talloc_array_concat(agg, array, kctx->string_sep);
index 8effe2ce9656cabcb9c2db90a66af406b394586b..6c8cdc71d30484d235d91fbb801e581c0e403218 100644 (file)
@@ -640,13 +640,13 @@ static int CC_HINT(nonnull(4,5)) cf_pair_parse_internal(TALLOC_CTX *ctx, void *o
                         */
                        cf_pair_debug_log(cs, cp, rule);
 
-                       if (cf_pair_is_parsed(cp)) continue;
+                       if (cp->item.parsed) continue;
                        ret = func(value_ctx, entry, base, cf_pair_to_item(cp), rule);
                        if (ret < 0) {
                                talloc_free(array);
                                return -1;
                        }
-                       cf_pair_mark_parsed(cp);
+                       cp->item.parsed = true;
                }
                if (array) *(void **)out = array;
        /*
@@ -690,10 +690,10 @@ static int CC_HINT(nonnull(4,5)) cf_pair_parse_internal(TALLOC_CTX *ctx, void *o
 
                cf_pair_debug_log(cs, cp, rule);
 
-               if (cf_pair_is_parsed(cp)) return 0;
+               if (cp->item.parsed) return 0;
                ret = func(ctx, out, base, cf_pair_to_item(cp), rule);
                if (ret < 0) return -1;
-               cf_pair_mark_parsed(cp);
+               cp->item.parsed = true;
        }
 
        return was_dflt ? 1 : 0;
index 920897e6b9709a891c6909faffa11f4f105f0f85..13c823e6a1595482053f2639b5f1e4a8c3aa5aaa 100644 (file)
@@ -60,6 +60,8 @@ struct cf_item {
 
        CONF_ITEM_TYPE          type;           //!< Whether the config item is a config_pair, conf_section or cf_data.
 
+       bool                    parsed;         //!< Was this item used during parsing?
+       bool                    referenced;     //!< Was this item referenced in the config?
        int                     lineno;         //!< The line number the config item began on.
        char const              *filename;      //!< The file the config item was parsed from.
 };
@@ -78,9 +80,7 @@ struct cf_pair {
        fr_token_t              rhs_quote;      //!< Value Quoting style T_(DOUBLE|SINGLE|BACK)_QUOTE_STRING or T_BARE_WORD.
 
        bool                    pass2;          //!< do expansion in pass2.
-       bool                    parsed;         //!< Was this item used during parsing?
        bool                    printed;        //!< Was this item printed already in debug mode?
-       bool                    referenced;     //!< Was this item referenced in the config?
 };
 
 typedef enum {
index 059b39526a4673fb1e98ad468e5aebbc76a74576..b3365bbb1f756eecdb81bcb84770b74de1f035d6 100644 (file)
@@ -1359,25 +1359,25 @@ int cf_pair_replace(CONF_SECTION *cs, CONF_PAIR *cp, char const *value)
 }
 
 
-/** Mark a pair as parsed
+/** Mark an item as parsed
  *
- * @param[in] cp       to mark as parsed.
+ * @param[in] ci       to mark as parsed.
  */
-void cf_pair_mark_parsed(CONF_PAIR *cp)
+void _cf_item_mark_parsed(CONF_ITEM *ci)
 {
-       cp->item.parsed = true;
+       ci->parsed = true;
 }
 
-/** Return whether a pair has already been parsed
+/** Return whether an item has already been parsed
  *
- * @param[in] cp       to check.
+ * @param[in] ci       to check.
  * @return
- *     - true if pair has been parsed.
+ *     - true if item has been parsed.
  *     - false if the pair hasn't been parsed.
  */
-bool cf_pair_is_parsed(CONF_PAIR *cp)
+bool _cf_item_is_parsed(CONF_ITEM *ci)
 {
-       return cp->item.parsed;
+       return ci->parsed;
 }
 
 /** Return the first child that's a #CONF_PAIR
index 938cd28518effa4a7d14e288e2bb60e46b06dde7..ea8875d140bfa90c178a599cc6e5d1ddde6b7509 100644 (file)
@@ -133,6 +133,12 @@ void               _cf_lineno_set(CONF_ITEM *cs, int lineno);
 
 void           cf_item_free_children(CONF_ITEM *ci);
 
+#define                cf_item_mark_parsed(_cf) _cf_item_mark_parsed(CF_TO_ITEM(_cf))
+void           _cf_item_mark_parsed(CONF_ITEM *ci);
+
+#define                cf_item_is_parsed(_cf) _cf_item_is_parsed(CF_TO_ITEM(_cf))
+bool           _cf_item_is_parsed(CONF_ITEM *ci);
+
 /*
  *     Section manipulation and searching
  */
@@ -203,10 +209,6 @@ CONF_PAIR  *cf_pair_dup(CONF_SECTION *parent, CONF_PAIR *cp, bool copy_meta);
 
 int            cf_pair_replace(CONF_SECTION *cs, CONF_PAIR *cp, char const *value);
 
-void           cf_pair_mark_parsed(CONF_PAIR *cp);
-
-bool           cf_pair_is_parsed(CONF_PAIR *cp);
-
 CONF_PAIR      *cf_pair_first(CONF_SECTION const *cs);
 
 CONF_PAIR      *cf_pair_next(CONF_SECTION const *cs, CONF_PAIR const *curr);
index bd151fe16e6928449cddb6757077884537e7ee01..4bb2599838fd9d1b0c145d9dc62aedbd06d0ed2c 100644 (file)
@@ -186,7 +186,7 @@ int sql_state_entries_from_cs(fr_trie_t *states, CONF_SECTION *cs)
                        entry->rcode = rcode;   /* Override previous sql rcode */
                }
 
-               cf_pair_mark_parsed(cp);                /* Make sure it doesn't emit a warning later */
+               cf_item_mark_parsed(cp);                /* Make sure it doesn't emit a warning later */
        }
 
        return 0;