From: Alan T. DeKok Date: Sat, 7 Oct 2023 14:34:13 +0000 (-0400) Subject: use t_rules->xlat.runtime_el X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2f8455e4e582e69b007dec1e6ab9a97e02631a3;p=thirdparty%2Ffreeradius-server.git use t_rules->xlat.runtime_el --- diff --git a/src/lib/unlang/xlat_expr.c b/src/lib/unlang/xlat_expr.c index 94e09ea0c2..a51061f210 100644 --- a/src/lib/unlang/xlat_expr.c +++ b/src/lib/unlang/xlat_expr.c @@ -2919,6 +2919,8 @@ static fr_slen_t xlat_tokenize_expression_internal(TALLOC_CTX *ctx, xlat_exp_hea fr_slen_t xlat_tokenize_expression(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t *in, fr_sbuff_parse_rules_t const *p_rules, tmpl_rules_t const *t_rules) { + fr_assert(!t_rules || !t_rules->xlat.runtime_el); + return xlat_tokenize_expression_internal(ctx, out, in, p_rules, t_rules, false); } @@ -2982,7 +2984,6 @@ fr_slen_t xlat_tokenize_ephemeral_expression(TALLOC_CTX *ctx, xlat_exp_head_t ** terminal_rules->terminals, &bracket_terms)); MEM(head = xlat_exp_head_alloc(ctx)); - head->el = el; if (t_rules) { my_rules = *t_rules; diff --git a/src/lib/unlang/xlat_priv.h b/src/lib/unlang/xlat_priv.h index 7361ed01af..4a0ea8061a 100644 --- a/src/lib/unlang/xlat_priv.h +++ b/src/lib/unlang/xlat_priv.h @@ -186,8 +186,6 @@ struct xlat_exp_head_s { bool instantiated; //!< temporary flag until we fix more things fr_dict_t const *dict; //!< dictionary for this xlat - fr_event_list_t *el; //! for run-time xlats - #ifndef NDEBUG char const * _CONST file; //!< File where the xlat was allocated. int line; //!< Line where the xlat was alocated. diff --git a/src/lib/unlang/xlat_tokenize.c b/src/lib/unlang/xlat_tokenize.c index 204445b905..3eb7972445 100644 --- a/src/lib/unlang/xlat_tokenize.c +++ b/src/lib/unlang/xlat_tokenize.c @@ -585,7 +585,6 @@ int xlat_tokenize_function_args(xlat_exp_head_t *head, fr_sbuff_t *in, goto error; } xlat_flags_merge(&node->flags, &node->call.args->flags); - node->call.args->el = head->el; /* * Check we have all the required arguments @@ -996,8 +995,8 @@ int xlat_tokenize_expansion(xlat_exp_head_t *head, fr_sbuff_t *in, MEM(node = xlat_exp_alloc(head, XLAT_TMPL, NULL, 0)); MEM(node->vpt = tmpl_alloc(node, TMPL_TYPE_XLAT, T_BARE_WORD, "", 1)); - if (head->el) { - ret = xlat_tokenize_ephemeral_expression(node->vpt, &child, head->el, in, &attr_p_rules, t_rules); + if (t_rules->xlat.runtime_el) { + ret = xlat_tokenize_ephemeral_expression(node->vpt, &child, t_rules->xlat.runtime_el, in, &attr_p_rules, t_rules); } else { ret = xlat_tokenize_expression(node->vpt, &child, in, &attr_p_rules, t_rules); } @@ -1661,7 +1660,6 @@ fr_slen_t xlat_tokenize_ephemeral(TALLOC_CTX *ctx, xlat_exp_head_t **out, xlat_exp_head_t *head; MEM(head = xlat_exp_head_alloc(ctx)); - head->el = el; if (t_rules) { head->dict = t_rules->attr.dict_def;