diff --git a/include/asterisk/linkedlists.h b/include/asterisk/linkedlists.h index 8dbd5dd5cdaa0840b8c802ef2baa637e9b474098..ef54ed4446dab27c76468d88eb85a482db909c51 100644 --- a/include/asterisk/linkedlists.h +++ b/include/asterisk/linkedlists.h @@ -381,7 +381,8 @@ struct { \ used to link entries of this list together. Note: The link field in the appended entry is \b not modified, so if it is - actually the head of a list itself, the entire list will be appended. + actually the head of a list itself, the entire list will be appended + temporarily (until the next AST_LIST_INSERT_TAIL is performed). */ #define AST_LIST_INSERT_TAIL(head, elm, field) do { \ if (!(head)->first) { \ @@ -431,7 +432,7 @@ struct { \ while (curelm->field.next != (elm)) \ curelm = curelm->field.next; \ curelm->field.next = (elm)->field.next; \ - if ((head)->last == curelm->field.next) \ + if ((head)->last == (elm)) \ (head)->last = curelm; \ } \ } while (0)