version 1.3, 2007/09/17 10:12:35 |
version 1.4, 2007/12/01 15:14:34 |
|
|
(l)->a[(l)->n++] = (gn); \ |
(l)->a[(l)->n++] = (gn); \ |
} while (0) |
} while (0) |
|
|
|
#define Array_Push(l, gn) Array_AtEnd(l, gn) |
|
|
|
#define Array_Pop(l) \ |
|
((l)->n > 0 ? (l)->a[--(l)->n] : NULL) |
|
|
|
#define Array_PushNew(l, gn) \ |
|
do { \ |
|
unsigned int i; \ |
|
for (i = 0; i < (l)->n; i++) \ |
|
if ((l)->a[i] == (gn)) \ |
|
break; \ |
|
if (i == (l)->n) \ |
|
Array_Push(l, gn); \ |
|
} while (0) |
|
|
#define Array_Find(l, func, v) \ |
#define Array_Find(l, func, v) \ |
do { \ |
do { \ |
unsigned int i; \ |
unsigned int i; \ |