via hackity hack, The real solution is not to copy the input
(unexpanded) arguments. Instead, the xlat_redundant() call
should simply copy it's expanded arguments, and call each
function in turn.
i.e. xlat_redundant() has no need to call xlat push or xlat
yield, as it already has all of the arguments it needs.
That also stops the inputs from being epanded repeatedly.
* a copy of the original arguments with each
* function that's called.
*/
- fr_dlist_talloc_free(&xctx->ex->call.args->dlist);
+// fr_dlist_talloc_free(&xctx->ex->call.args->dlist);
return 0;
}
#
# PRE: if
#
-if ("%(concat:%(redundant_test:foo bar) '|')" != "foo|bar") {
+if (!(%(concat:%(test1:foo bar) '|') == "foo|bar")) {
+ test_fail
+}
+
+if (!(%(concat:%(test2:foo bar) '|') == "foo|bar")) {
+ test_fail
+}
+
+#
+# The config has a "redundant" block for test1 and test2.
+#
+if (!(%(concat:%(redundant_test:foo bar) '|') == "foo|bar")) {
test_fail
}