Skip to content

Commit

Permalink
push event list down to ephemeral expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
alandekok committed Oct 6, 2023
1 parent a539643 commit f2f1824
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/lib/unlang/xlat_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ 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.
Expand Down
7 changes: 6 additions & 1 deletion src/lib/unlang/xlat_tokenize.c
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,11 @@ 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));

ret = xlat_tokenize_expression(node->vpt, &child, in, &attr_p_rules, t_rules);
if (head->el) {
ret = xlat_tokenize_ephemeral_expression(node->vpt, &child, head->el, in, &attr_p_rules, t_rules);
} else {
ret = xlat_tokenize_expression(node->vpt, &child, in, &attr_p_rules, t_rules);
}
if (ret <= 0) {
talloc_free(node);
return ret;
Expand Down Expand Up @@ -1656,6 +1660,7 @@ 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;
Expand Down

0 comments on commit f2f1824

Please sign in to comment.