fr_pair_list_t found;
fr_pair_list_t vps;
request_t *context = request;
- fr_cursor_t cursor;
ssize_t slen;
char *str;
*/
if (fr_pair_list_empty(&found)) return 0;
- for (vp = fr_cursor_init(&cursor, &found);
+ for (vp = fr_pair_list_head(&found);
vp;
- vp = fr_cursor_next(&cursor)) {
+ vp = fr_pair_list_next(&found, vp)) {
vp->op = T_OP_ADD;
}
*/
if (tmpl_is_attr(map->lhs) &&
(tmpl_da(map->rhs)->type != tmpl_da(map->lhs)->type)) {
- fr_cursor_t to;
-
- (void) fr_cursor_init(&to, out);
for (; vp; vp = fr_cursor_current(&from)) {
MEM(n = fr_pair_afrom_da(ctx, tmpl_da(map->lhs)));
fr_assert((n->vp_type != FR_TYPE_STRING) || (n->vp_strvalue != NULL));
n->op = map->op;
- fr_cursor_append(&to, n);
+ fr_pair_add(out, n);
}
return 0;
if (RDEBUG_ENABLED)
#endif
{
- fr_cursor_t cursor;
-
- for (vp = fr_cursor_init(&cursor, &head);
+ for (vp = fr_pair_list_head(&src_list);
vp;
- vp = fr_cursor_next(&cursor)) {
+ vp = fr_pair_list_next(&src_list, vp)) {
VP_VERIFY(vp);
if (RDEBUG_ENABLED) map_debug_log(request, map, vp);
* Instance specific[n] delete
*/
if (tmpl_num(map->lhs) != NUM_ANY) {
- for (vp = fr_cursor_head(&src_list);
+ for (vp = fr_pair_list_head(&src_list);
vp;
- vp = fr_cursor_next(&src_list)) {
- head->op = T_OP_CMP_EQ;
+ vp = fr_pair_list_next(&src_list, vp)) {
+ vp->op = T_OP_CMP_EQ;
rcode = paircmp_pairs(request, vp, dst);
if (rcode == 0) {
dst = fr_cursor_remove(&dst_list);
for (dst = fr_cursor_current(&dst_list);
dst;
dst = fr_cursor_filter_next(&dst_list, fr_pair_matches_da, tmpl_da(map->lhs))) {
- for (vp = fr_cursor_head(&src_list);
+ for (vp = fr_pair_list_head(&src_list);
vp;
- vp = fr_cursor_next(&src_list)) {
- head->op = T_OP_CMP_EQ;
+ vp = fr_pair_list_next(&src_list, vp)) {
+ vp->op = T_OP_CMP_EQ;
rcode = paircmp_pairs(request, vp, dst);
if (rcode == 0) {
dst = fr_cursor_remove(&dst_list);
/*
* Find out what we need to build and build it
*/
- src_vp = fr_cursor_tail(&src_list);
+ src_vp = fr_pair_list_tail(&src_list);
if ((tmpl_extents_find(tmp_ctx, &leaf, &interior, request, map->lhs) < 0) ||
(tmpl_extents_build_to_leaf(&leaf, &interior, map->lhs) < 0)) {
op_set_error:
fr_cursor_head(&dst_list);
- for (b = fr_cursor_head(&src_list);
+ for (b = fr_pair_list_head(&src_list);
b;
- b = fr_cursor_next(&src_list)) {
+ b = fr_pair_list_next(&src_list, b)) {
for (a = fr_cursor_current(&dst_list);
a;
a = fr_cursor_next(&dst_list)) {