comparison array.c @ 93:9ebea85c7765

Use pointer instead of copying variable in ARRAY_FOREACH, then you can modify it
author David Demelier <markand@malikania.fr>
date Wed, 04 Jan 2012 13:21:15 +0100
parents 4d723e81b685
children b1a084c030c8
comparison
equal deleted inserted replaced
92:4d723e81b685 93:9ebea85c7765
25 #define OFFSET(x) (arr->unit * (x)) 25 #define OFFSET(x) (arr->unit * (x))
26 26
27 static int array_grow(struct array *); 27 static int array_grow(struct array *);
28 28
29 int 29 int
30 array_new(struct array *arr, size_t unit) 30 array_init(struct array *arr, size_t unit)
31 { 31 {
32 if (unit == 0) 32 if (unit == 0)
33 return -1; 33 return -1;
34 34
35 arr->unit = unit; 35 arr->unit = unit;
65 switch (*p) { 65 switch (*p) {
66 case 'l': 66 case 'l':
67 arr->bsize = va_arg(ap, int); 67 arr->bsize = va_arg(ap, int);
68 break; 68 break;
69 case 'm': 69 case 'm':
70 arr->malloc = va_arg(ap, void * (*)(size_t)); 70 arr->malloc = va_arg(ap, void *(*)(size_t));
71 break; 71 break;
72 case 'r': 72 case 'r':
73 arr->realloc = va_arg(ap, void *(*)(void *, size_t)); 73 arr->realloc = va_arg(ap, void *(*)(void *, size_t));
74 break; 74 break;
75 case 't': 75 case 't':