src/lib/queue.c
void qinsert(BQUEUE *qhead, BQUEUE *object)
{
#define qh ((BQUEUE *)qhead)
#define obj ((BQUEUE *)object)

        ASSERT(qh->qprev->qnext == qh);
        ASSERT(qh->qnext->qprev == qh);

        obj->qnext = qh;
        obj->qprev = qh->qprev;
        qh->qprev = obj;
        obj->qprev->qnext = obj;
#undef qh
#undef obj
}
/*  QINSERT  --  Insert object at end of queue  */
QINSERT  --  Insert object at end of queue
QINSERT -- Insert object at end of queue
void qinsert(BQUEUE *qhead, BQUEUE *object)
{
#define qh ((BQUEUE *)qhead)
#define obj ((BQUEUE *)object)
        ASSERT(qh->qprev->qnext == qh);
        ASSERT(qh->qnext->qprev == qh);
        obj->qnext = qh;
        obj->qprev = qh->qprev;
        qh->qprev = obj;
        obj->qprev->qnext = obj;
#undef qh
#undef obj
}
void qinsert ( BQUEUE * qhead , BQUEUE * object ) { #define qh  ((BQUEUE *)qhead) #define obj  ((BQUEUE *)object) ASSERT ( qh -> qprev -> qnext == qh ) ; ASSERT ( qh -> qnext -> qprev == qh ) ; obj -> qnext = qh ; obj -> qprev = qh -> qprev ; qh -> qprev = obj ; obj -> qprev -> qnext = obj ; #undef  qh #undef  obj }
QINSERT  --  Insert object at end of queue
QINSERT -- Insert object at end of queue