pair = (mruby_pair_t *)DATA_PTR(self);
if (!pair) mrb_raise(mrb, E_RUNTIME_ERROR, "Failed to retrieve C data");
+ if (!pair->vp) return keys;
keys = mrb_ary_new(mrb);
if (!pair->vp) return keys;
for (vp = fr_pair_list_head(&pair->vp->vp_group); vp; vp = fr_pair_list_next(&pair->vp->vp_group, vp)) {
child_da = fr_dict_attr_by_name(NULL, da, child_attr_name);
if (!child_da && fr_type_is_group(da->type)) {
- child_da = fr_dict_attr_by_name(NULL, fr_dict_root(fr_dict_internal()), attr_name);
+ child_da = fr_dict_attr_by_name(NULL, fr_dict_root(fr_dict_internal()), child_attr_name);
}
if (!child_da) mrb_raisef(mrb, E_ARGUMENT_ERROR, "Unknown or invalid attriubte name \"%s\"", attr_name);