Annotation of libelwix/example/test_sarray.c, revision 1.1.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>