Annotation of libelwix/example/test_array.c, revision 1.1.1.1.6.1
1.1 misho 1: #include <stdio.h>
2: #include <string.h>
3: #include <elwix.h>
4:
5: int
6: main(int argc, char **argv)
7: {
8: array_t *a = NULL;
9: void *d = "MEOWeoeoeoeoe!!!";
10:
11: a = array_Init(0);
12: if (!a) {
13: printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError());
14: return 1;
15: }
1.1.1.1.6.1! misho 16: printf("si=%d l=%d\n", array_Size(a), array_Last(a));
! 17: array_Push(a, d, 0);
! 18: printf("si=%d l=%d %s\n", array_Size(a), array_Last(a), array_Get(a, 0));
1.1 misho 19: array_Elem(a, 5, d);
1.1.1.1.6.1! misho 20: printf("si=%d l=%d\n", array_Size(a), array_Last(a));
1.1 misho 21: array_Destroy(&a);
22:
23: a = array_Init(10);
24: if (!a) {
25: printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError());
26: return 1;
27: }
28:
29: switch (argc) {
30: case 4:
31: array_Set(a, 5, argv[3]);
32: case 3:
33: array_Set(a, 4, argv[2]);
34: case 2:
35: array_Set(a, 1, argv[1]);
36: }
37:
38: printf("d=%p push=%d\n", d, array_Push(a, &d, 0));
39: printf("d=%p pop=%d\n", d, array_Pop(a, &d, 0));
40: printf("last=%d ", array_Last(a));
41: printf("d=%p pop=%d\n", d, array_Pop(a, &d, 1));
42: printf("last=%d ", array_Last(a));
43:
44: printf(">>> a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n",
45: array(a, 0, char*), array(a, 1, char*),
46: array(a, 2, char*), array(a, 3, char*),
47: array(a, 4, char*), array(a, 5, char*));
48: printf(">>> array really len=%d array size=%d\n", array_Len(a), array_Size(a));
49:
50: array_Vacuum(a, VACUUM_BETWEEN);
51: printf("vacuum:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n",
52: array(a, 0, char*), array(a, 1, char*),
53: array(a, 2, char*), array(a, 3, char*),
54: array(a, 4, char*), array(a, 5, char*));
55:
56: printf("vacuum:: array really len=%d array size=%d\n", array_Len(a), array_Size(a));
57:
58: array_Grow(a, array_Len(a) + 4, 0);
59: printf("grow:: array really len=%d array size=%d\n", array_Len(a), array_Size(a));
60: printf("grow:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n",
61: array(a, 0, char*), array(a, 1, char*),
62: array(a, 2, char*), /*array(a, 3, char*), */ NULL,
63: /*array(a, 4, char*), array(a, 5, char*)*/ NULL, NULL);
64:
65: array_Grow(a, 1, 0);
66: array_Grow(a, 2, 0);
67: printf("shrink:: array really len=%d array size=%d\n", array_Len(a), array_Size(a));
68: printf("shrink:: a[0]=%s a[1]=%s\n", array(a, 0, char*), array(a, 1, char*));
69:
70: array_Destroy(&a);
71: return 0;
72: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>