File:  [ELWIX - Embedded LightWeight unIX -] / libelwix / example / test_array.c
Revision 1.1.1.1.6.1: download - view: text, annotated - select for diffs - revision graph
Tue Mar 19 17:01:31 2013 UTC (11 years, 3 months ago) by misho
Branches: elwix1_3
Diff to: branchpoint 1.1.1.1: preferred, unified
patch UT

    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: 	}
   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));
   19: 	array_Elem(a, 5, d);
   20: 	printf("si=%d l=%d\n", array_Size(a), array_Last(a));
   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>