Annotation of libelwix/example/test_sarray.c, revision 1.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: sarr_t *a = NULL;
! 9: array_t *ar;
! 10: int i;
! 11: void *d = "MEOWeoeoeoeoe!!!";
! 12:
! 13: a = sarr_Init(10, 4);
! 14: if (!a) {
! 15: printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError());
! 16: return 1;
! 17: }
! 18:
! 19: switch (argc) {
! 20: case 4:
! 21: sarr_Set(a, 10, argv[3]);
! 22: case 3:
! 23: sarr_Set(a, 6, argv[2]);
! 24: sarr_Set(a, 4, argv[2]);
! 25: case 2:
! 26: sarr_Set(a, 3, argv[1]);
! 27: sarr_Set(a, 1, argv[1]);
! 28: }
! 29:
! 30: printf(">>> a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[6]=%s a[10]=%s\n",
! 31: sarr(a, 1, char*), sarr(a, 2, char*),
! 32: sarr(a, 3, char*), sarr(a, 4, char*),
! 33: sarr(a, 6, char*), sarr(a, 10, char*));
! 34: printf(">>> array size=%d\n", sarr_Size(a));
! 35:
! 36: sarr_Del(a, 6);
! 37: sarr_Del(a, 9);
! 38: sarr_Del(a, 10);
! 39: printf(">>> a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[6]=%s a[10]=%s\n",
! 40: sarr(a, 1, char*), sarr(a, 2, char*),
! 41: sarr(a, 3, char*), sarr(a, 4, char*),
! 42: sarr(a, 6, char*), sarr(a, 10, char*));
! 43: printf(">>> array size=%d\n", sarr_Size(a));
! 44:
! 45: sarr_Set(a, 240, d);
! 46: printf(">>> array size=%d s[240]=%s\n", sarr_Size(a), sarr_Get2(a, 240));
! 47: sarr_Set(a, 240, d);
! 48: printf(">>> array size=%d s[240]=%s\n", sarr_Size(a), sarr(a, 240, char*));
! 49: printf(">>> array size=%d s[240]=%s\n", sarr_Size(a), sarr_Get2(a, 240));
! 50:
! 51: sarr_Vacuum(a);
! 52: printf("vacuum:: a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[6]=%s a[10]=%s\n",
! 53: sarr(a, 1, char*), sarr(a, 2, char*),
! 54: sarr(a, 3, char*), sarr(a, 4, char*),
! 55: sarr(a, 6, char*), sarr(a, 10, char*));
! 56: printf("vacuum:: array size=%d\n", sarr_Size(a));
! 57:
! 58: sarr_Grow(a, 20);
! 59: printf("grow:: array size=%d\n", sarr_Size(a));
! 60: printf("grow:: a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[6]=%s a[10]=%s\n",
! 61: sarr(a, 1, char*), sarr(a, 2, char*),
! 62: sarr(a, 3, char*), sarr(a, 4, char*),
! 63: sarr(a, 6, char*), sarr(a, 10, char*));
! 64:
! 65: sarr_Grow(a, 1);
! 66: sarr_Grow(a, 2);
! 67: printf("shrink:: array size=%d\n", sarr_Size(a));
! 68: printf("shrink:: a[1]=%s a[2]=%s\n", sarr(a, 1, char*), sarr(a, 2, char*));
! 69:
! 70: ar = sarr_sarr2array(&a, 1);
! 71: if (!ar) {
! 72: printf("Error:: in convert sarr2array #%d - %s\n", elwix_GetErrno(), elwix_GetError());
! 73: } else
! 74: for (i = 0; i < array_Size(ar); i++)
! 75: printf("arrGet(%d)=%s\n", i, array(ar, i, char*));
! 76: //sarr_Destroy(&a);
! 77:
! 78: a = sarr_array2sarr(&ar, 4, 0);
! 79: if (!a) {
! 80: printf("Error:: in convert array2sarr #%d - %s\n", elwix_GetErrno(), elwix_GetError());
! 81: } else
! 82: for (i = 0; i < sarr_Size(a); i++)
! 83: printf("sarrGet(%d)=%s\n", i, sarr(a, i + 1, char*));
! 84:
! 85: array_Destroy(&ar);
! 86: sarr_Destroy(&a);
! 87: return 0;
! 88: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>