Skip to content

Commit f01432d

Browse files
Merge pull request #496 from adierking/tailq
shims: fix TAILQ_CONCAT() edge cases
2 parents c5af10f + 90e9a44 commit f01432d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/shims/generic_sys_queue.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,11 @@
9494

9595
#define TAILQ_CONCAT(head1, head2, field) do { \
9696
if (!TAILQ_EMPTY(head2)) { \
97-
(head1)->tq_last = (head2)->tq_first; \
97+
if ((head1)->tq_last) { \
98+
(head1)->tq_last->field.te_next = (head2)->tq_first; \
99+
} else { \
100+
(head1)->tq_first = (head2)->tq_first; \
101+
} \
98102
(head2)->tq_first->field.te_prev = (head1)->tq_last; \
99103
(head1)->tq_last = (head2)->tq_last; \
100104
TAILQ_INIT((head2)); \

0 commit comments

Comments
 (0)