#include #include #include int main(int argc, char **argv) { array_t *a = NULL; void *s, *d = "MEOWeoeoeoeoe!!!"; a = array_Init(0); if (!a) { printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError()); return 1; } array_Pop(a, NULL, 0); array_Pop(a, NULL, 0); array_Pop(a, NULL, 0); printf("si=%d l=%d\n", array_Size(a), array_Last(a)); array_Push(a, d, 0); printf("push>si=%d l=%d %s\n", array_Size(a), array_Last(a), array_Get(a, 0)); array_Pop(a, &s, 42); printf("pop>si=%d l=%d %s\n", array_Size(a), array_Last(a), s); array_Push(a, d, 0); printf("push>si=%d l=%d %s\n", array_Size(a), array_Last(a), array_Get(a, 0)); array_Elem(a, 5, d); printf("si=%d l=%d\n", array_Size(a), array_Last(a)); array_Pop(a, &s, 42); printf("pop>si=%d l=%d %s\n", array_Size(a), array_Last(a), s); array_Pop(a, NULL, 0); array_Pop(a, NULL, 0); printf("pops>si=%d l=%d get=%s\n", array_Size(a), array_Last(a), array_Get(a, 5)); array_Push(a, d, 0); printf("push>si=%d l=%d\n", array_Size(a), array_Last(a)); array_Destroy(&a); a = array_Init(10); if (!a) { printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError()); return 1; } switch (argc) { case 4: array_Set(a, 5, argv[3]); case 3: array_Set(a, 4, argv[2]); case 2: array_Set(a, 1, argv[1]); } printf("d=%p push=%d\n", d, array_Push(a, &d, 0)); printf("d=%p pop=%d\n", d, array_Pop(a, &d, 0)); printf("last=%d ", array_Last(a)); printf("d=%p pop=%d\n", d, array_Pop(a, &d, 1)); printf("last=%d ", array_Last(a)); printf(">>> a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", array(a, 0, char*), array(a, 1, char*), array(a, 2, char*), array(a, 3, char*), array(a, 4, char*), array(a, 5, char*)); printf(">>> array really len=%d array size=%d\n", array_Len(a), array_Size(a)); array_Vacuum(a, VACUUM_BETWEEN); printf("vacuum:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", array(a, 0, char*), array(a, 1, char*), array(a, 2, char*), array(a, 3, char*), array(a, 4, char*), array(a, 5, char*)); printf("vacuum:: array really len=%d array size=%d\n", array_Len(a), array_Size(a)); array_Grow(a, array_Len(a) + 4, 0); printf("grow:: array really len=%d array size=%d\n", array_Len(a), array_Size(a)); printf("grow:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", array(a, 0, char*), array(a, 1, char*), array(a, 2, char*), /*array(a, 3, char*), */ NULL, /*array(a, 4, char*), array(a, 5, char*)*/ NULL, NULL); array_Grow(a, 1, 0); array_Grow(a, 2, 0); printf("shrink:: array really len=%d array size=%d\n", array_Len(a), array_Size(a)); printf("shrink:: a[0]=%s a[1]=%s\n", array(a, 0, char*), array(a, 1, char*)); array_Destroy(&a); return 0; }