parent = dict->next->root;
goto redo;
}
-
}
if (err) *err = FR_DICT_ATTR_NOTFOUND;
DA_VERIFY(parent);
+redo:
namespace = dict_attr_namespace(parent);
if (!namespace) {
fr_strerror_printf("Attribute '%s' does not contain a namespace", parent->name);
if (err) *err = FR_DICT_ATTR_NO_CHILDREN;
+ fprintf(stderr, "FAIL %d\n", __LINE__);
return NULL;
}
da = fr_hash_table_find(namespace, &(fr_dict_attr_t) { .name = name });
if (!da) {
+ if (parent->flags.is_root) {
+ fr_dict_t const *dict = fr_dict_by_da(parent);
+
+ if (dict->next) {
+ parent = dict->next->root;
+ goto redo;
+ }
+ }
+
if (err) *err = FR_DICT_ATTR_NOTFOUND;
fr_strerror_printf("Attribute '%s' not found in namespace '%s'", name, parent->name);
return NULL;