Value: do { \ (elm)->field.scqe_prev = SH_PTR_TO_OFF(elm, listelm); \ (elm)->field.scqe_next = (listelm)->field.scqe_next + \ (elm)->field.scqe_prev; \ if (SH_CIRCLEQ_NEXTP(listelm, field, type) == (void *)head) \ (head)->scqh_last = SH_PTR_TO_OFF(head, elm); \ else \ SH_CIRCLEQ_NEXTP(listelm, \ field, type)->field.scqe_prev = \ SH_PTR_TO_OFF(SH_CIRCLEQ_NEXTP(listelm, \ field, type), elm); \ (listelm)->field.scqe_next = -(elm)->field.scqe_prev; \ } while (0)
|