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>