node->flags.needs_resolving = tmpl_is_attr_unresolved(vpt);
node->attr = vpt;
+ node->flags.needs_resolving = tmpl_is_attr_unresolved(vpt);
}
if (!fr_sbuff_next_if_char(in, '}')) {
* FIXME - Produce proper error with marker
*/
if (!allow_unresolved) {
+ error_unresolved:
fr_strerror_printf_push("Failed resolving attribute in expansion %%{%s}",
node->fmt);
return -1;
}
break;
+ case XLAT_ATTRIBUTE:
+ if (!allow_unresolved) goto error_unresolved;
+ break;
+
default:
fr_assert(0); /* Should not have been marked as unresolved */
return -1;
# reference here should be to an unknown attribute,
# and the dereference should fail.
#
-if ("%{reply.WiMAX.Capability.Release}" == "foo") {
+if ("%{reply.WiMAX.Capability.Release}" == "foo") { # ERROR
test_fail
}
else {
- success
-}
\ No newline at end of file
+ # if it isn't a parse error, then it's a run-time error,
+ test_fail
+}