#define SH_CIRCLEQ_REMOVE ( head,
elm,
field,
type   ) 

Value:

do {                    \
        if (SH_CIRCLEQ_NEXTP(elm, field, type) == (void *)(head))       \
                (head)->scqh_last += (elm)->field.scqe_prev;            \
        else                                                            \
                SH_CIRCLEQ_NEXTP(elm, field, type)->field.scqe_prev +=  \
                    (elm)->field.scqe_prev;                             \
        if (SH_CIRCLEQ_PREVP(elm, field, type) == (void *)(head))       \
                (head)->scqh_first += (elm)->field.scqe_next;           \
        else                                                            \
                SH_CIRCLEQ_PREVP(elm, field, type)->field.scqe_next +=  \
                    (elm)->field.scqe_next;                             \
} while (0)

Definition at line 326 of file shqueue.h.


Generated on Sun Jun 8 10:56:56 2008 for GNUmifluz by  doxygen 1.5.5