1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-11 22:51:06 +02:00
2010-01-24 09:19:39 +00:00

26 lines
531 B
C

/*
* cque.h
* macros for free lists.
*/
typedef struct cque {
struct cque *qnext;
} CQUE;
#define Qinit(q1) { (q1) = 0; }
/* q1 points to a stack CQUE*, new is an element to insert */
#define Qenter(q1,new) { \
((CQUE *)(new))->qnext = ((CQUE *)(q1)); \
q1 = ((CQUE *)(new)); }
/* q1 points to a list of CQUE*: remove elt and assign to new */
/* NOTE: q1 must be non-empty */
#define Qget(q1,newtype,new) { \
(new) = (newtype)(q1); \
q1 = ((CQUE *)(q1))->qnext; }
#define Qempty(q1) ((q1) == 0)