int fr_pair_update_by_da_parent(fr_pair_t *parent, fr_pair_t **out,
fr_dict_attr_t const *da) CC_HINT(nonnull(1,3));
+static inline CC_HINT(nonnull(3,4)) int fr_pair_find_or_append_by_da(TALLOC_CTX *ctx, fr_pair_t **out, fr_pair_list_t *list,
+ fr_dict_attr_t const *da)
+{
+ fr_pair_t *vp;
+
+ vp = fr_pair_find_by_da(list, NULL, da);
+ if (vp) {
+ *out = vp;
+ return 0;
+ }
+
+ return fr_pair_append_by_da(ctx, out, list, da);
+}
+
+
int fr_pair_delete_by_da(fr_pair_list_t *head, fr_dict_attr_t const *da) CC_HINT(nonnull);
fr_pair_t *fr_pair_delete(fr_pair_list_t *list, fr_pair_t *vp) CC_HINT(nonnull);