__list_del (elem->prev, elem->next);
}
+/* delete from list, add to another list as head */
+static inline void
+list_move (list_t *elem, list_t *head)
+{
+ __list_del (elem->prev, elem->next);
+ list_add (elem, head);
+}
+
+/* replace an old entry.
+ */
+static inline void
+list_replace(list_t *old, list_t *_new)
+{
+ _new->next = old->next;
+ _new->prev = old->prev;
+ _new->prev->next = _new;
+ _new->next->prev = _new;
+}
/* Join two lists. */
static inline void
}
static inline void list_replace_init(list_t *old,
- list_t *new)
+ list_t *_new)
{
list_t *head = old->next;
list_del(old);
- list_add_tail(new, head);
+ list_add_tail(_new, head);
INIT_LIST_HEAD(old);
}