optimization src/adlist.c:listJoin()
This commit is contained in:
parent
19c29b6007
commit
c09b5941ce
@ -360,15 +360,16 @@ void listRotateHeadToTail(list *list) {
|
|||||||
/* Add all the elements of the list 'o' at the end of the
|
/* Add all the elements of the list 'o' at the end of the
|
||||||
* list 'l'. The list 'other' remains empty but otherwise valid. */
|
* list 'l'. The list 'other' remains empty but otherwise valid. */
|
||||||
void listJoin(list *l, list *o) {
|
void listJoin(list *l, list *o) {
|
||||||
if (o->head)
|
if (o->len == 0) return;
|
||||||
o->head->prev = l->tail;
|
|
||||||
|
o->head->prev = l->tail;
|
||||||
|
|
||||||
if (l->tail)
|
if (l->tail)
|
||||||
l->tail->next = o->head;
|
l->tail->next = o->head;
|
||||||
else
|
else
|
||||||
l->head = o->head;
|
l->head = o->head;
|
||||||
|
|
||||||
if (o->tail) l->tail = o->tail;
|
l->tail = o->tail;
|
||||||
l->len += o->len;
|
l->len += o->len;
|
||||||
|
|
||||||
/* Setup other as an empty list. */
|
/* Setup other as an empty list. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user