src/slist.h
static inline void
slist_concat(struct slist *list1, const struct slist *list2)
{
    if (slist_empty(list2)) {
        return;
    }

    if (slist_empty(list1)) {
        list1->first = list2->first;
    } else {
        list1->last->next = list2->first;
    }

    list1->last = list2->last;
}
/*
 * Append the nodes of list2 at the end of list1.
 *
 * After completion, list2 is stale.
 */
Append the nodes of list2 at the end of list1.
After completion, list2 is stale.
Append the nodes of list2 at the end of list1 . After completion list2 is stale .
static inline void
slist_concat(struct slist *list1, const struct slist *list2)
{
    if (slist_empty(list2)) {
        return;
    }
    if (slist_empty(list1)) {
        list1->first = list2->first;
    } else {
        list1->last->next = list2->first;
    }
    list1->last = list2->last;
}
static inline void slist_concat ( struct slist * list1 , const struct slist * list2 ) { if ( slist_empty ( list2 ) ) { return ; } if ( slist_empty ( list1 ) ) { list1 -> first = list2 -> first ; } else { list1 -> last -> next = list2 -> first ; } list1 -> last = list2 -> last ; }
Append the nodes of list2 at the end of list1.
Append the nodes of list2 at the end of list1 .