Navigation



Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfreeDiameter/lists.c

    r14 r25  
    7070        ASSERT(ref->head != item);
    7171        list_insert_after(ref, item);
     72}
     73
     74/* Move all elements of list senti at the end of list ref */
     75void fd_list_move_end(struct fd_list * ref, struct fd_list * senti)
     76{
     77        ASSERT(ref->head == ref);
     78        ASSERT(senti->head == senti);
     79       
     80        if (senti->next == senti)
     81                return;
     82       
     83        senti->next->prev = ref->prev;
     84        ref->prev->next   = senti->next;
     85        senti->prev->next = ref;
     86        ref->prev         = senti->prev;
     87        senti->prev = senti;
     88        senti->next = senti;
     89       
    7290}
    7391
Note: See TracChangeset for help on using the changeset viewer.