new mirror
[hband-tools.git] / lib / libarray / t_libarray.c
blobc5cbfa629c6ee1061720f5f66ce851b11bdcbbd5
2 #include <err.h>
4 #include "libarray.c"
6 array_loop_control
7 pprint(size_t index, char * item, void * x)
9 warnx("[%d]=%s", index, item);
10 return ARRAY_LOOP_CONTINUE;
13 int main(int argc, char* argv[])
15 Array* arr;
17 size_t x;
18 x=-1;
19 warnx("x=%d=%u x%s0", x, x, x>0?">":"<=");
21 warnx("init");
22 array_init(&arr, 0);
23 array_foreach(&arr, pprint, NULL);
24 warnx("");
26 warnx("append one");
27 array_append(&arr, "one");
28 array_foreach(&arr, pprint, NULL);
29 warnx("");
31 warnx("append two");
32 array_append(&arr, "two");
33 array_foreach(&arr, pprint, NULL);
34 warnx("");
36 warnx("insert 0 zero");
37 array_insert(&arr, 0, "zero");
38 array_foreach(&arr, pprint, NULL);
39 warnx("");
41 warnx("insert 2 half");
42 array_insert(&arr, 2, "half");
43 array_foreach(&arr, pprint, NULL);
44 warnx("");
46 warnx("insert 1000 OOB");
47 array_insert(&arr, 1000, "OOB");
48 array_foreach(&arr, pprint, NULL);
49 warnx("");
51 warnx("insert 4 three");
52 array_insert(&arr, 4, "three");
53 array_foreach(&arr, pprint, NULL);
54 warnx("");
56 warnx("insert 6 four");
57 array_insert(&arr, 6, "four");
58 array_foreach(&arr, pprint, NULL);
59 warnx("");
61 return 0;