fr_sbuff_advance(&our_in, -slen);
FR_SBUFF_ERROR_RETURN(&our_in);
}
- if (slen > 0) {
- *out = node;
- FR_SBUFF_SET_RETURN(in, &our_in);
- }
+ if (slen > 0) goto done;
FALL_THROUGH;
default:
}
}
- /*
- * Assign the tmpl to the node.
- */
- xlat_exp_set_name_shallow(node, vpt->name);
-
- node->flags.needs_resolving = tmpl_needs_resolving(node->vpt);
-
fr_assert(!tmpl_contains_regex(vpt));
done:
FR_SBUFF_ERROR_RETURN(&our_in);
}
+ xlat_exp_set_name_shallow(node, node->vpt->name);
+ node->flags.needs_resolving = tmpl_needs_resolving(node->vpt);
+
if (xlat_tmpl_normalize(node) < 0) goto error;
if (quote == T_BARE_WORD) goto done;