From 53384bdca4f5e80f626e68e71ad2b82100b22735 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Mon, 27 Mar 2017 11:07:27 +0200 Subject: lib: Revise list_move operation This revises the list_move operation, which was giving weird behaviour. --- src/lib/list.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/lib') diff --git a/src/lib/list.c b/src/lib/list.c index b6b4bbd2..52270fe8 100644 --- a/src/lib/list.c +++ b/src/lib/list.c @@ -71,13 +71,9 @@ bool list_is_empty(struct list_head * h) return h->nxt == h; } -void list_move(struct list_head * dst, - struct list_head * src) +void list_move(struct list_head * n, + struct list_head * h) { - dst->nxt = src->nxt; - dst->prv = src->prv; - dst->nxt->prv = src->nxt->prv; - dst->prv->nxt = src->prv->nxt; - - list_head_init(src); + del_list(n->prv, n->nxt); + list_add(n, h); } -- cgit v1.2.3