X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=utils.c;fp=utils.c;h=88ed8c1d4d3f8e1eb5032db6eee97c94aa3c84e2;hp=cf31f87cc0d1ea42a1af47abcc5dc558f110bd39;hb=063b8c2b5301646335dac66f1167bc8f128537a7;hpb=480c24c6df4446ba484228ecf3212fc6144a54bc diff --git a/utils.c b/utils.c index cf31f87..88ed8c1 100644 --- a/utils.c +++ b/utils.c @@ -43,6 +43,20 @@ blobmsg_list_fill(struct blobmsg_list *list, void *data, int len) } void +blobmsg_list_move(struct blobmsg_list *list, struct blobmsg_list *src) +{ + struct blobmsg_list_node *node, *tmp; + void *ptr; + + avl_remove_all_elements(&src->avl, node, avl, tmp) { + if (!avl_insert(&list->avl, &node->avl)) { + ptr = ((char *) node - list->node_offset); + free(ptr); + } + } +} + +void blobmsg_list_free(struct blobmsg_list *list) { struct blobmsg_list_node *node, *tmp;