=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/garray.h,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/make/garray.h 2007/09/17 09:44:20 1.2 --- src/usr.bin/make/garray.h 2007/09/17 10:12:35 1.3 *************** *** 2,8 **** #define GARRAY_H /* $OpenPackages$ */ ! /* $OpenBSD: garray.h,v 1.2 2007/09/17 09:44:20 espie Exp $ */ /* Growable array implementation */ /* --- 2,8 ---- #define GARRAY_H /* $OpenPackages$ */ ! /* $OpenBSD: garray.h,v 1.3 2007/09/17 10:12:35 espie Exp $ */ /* Growable array implementation */ /* *************** *** 49,62 **** #define MAY_INCREASE_STATS #endif ! #define Array_AtEnd(l, gn) \ ! do { \ ! if ((l)->n >= (l)->size) { \ ! (l)->size *= 2; \ ! (l)->a = erealloc((l)->a, sizeof(struct GNode *) * (l)->size); \ ! MAY_INCREASE_STATS; \ ! } \ ! (l)->a[(l)->n++] = (gn); \ } while (0) #define Array_Find(l, func, v) \ --- 49,63 ---- #define MAY_INCREASE_STATS #endif ! #define Array_AtEnd(l, gn) \ ! do { \ ! if ((l)->n >= (l)->size) { \ ! (l)->size *= 2; \ ! (l)->a = erealloc((l)->a, \ ! sizeof(struct GNode *) * (l)->size);\ ! MAY_INCREASE_STATS; \ ! } \ ! (l)->a[(l)->n++] = (gn); \ } while (0) #define Array_Find(l, func, v) \ *************** *** 65,70 **** --- 66,79 ---- for (i = 0; i < (l)->n; i++) \ if ((func)((l)->a[i], (v)) == 0)\ break; \ + } while (0) + + #define Array_FindP(l, func, v) \ + do { \ + unsigned int i; \ + for (i = 0; i < (l)->n; i++) \ + if ((func)(&((l)->a[i]), (v)) == 0) \ + break; \ } while (0) #define Array_ForEach(l, func, v) \