File:  [ELWIX - Embedded LightWeight unIX -] / libaitio / example / Attic / test_array.c
Revision 1.5.4.2: download - view: text, annotated - select for diffs - revision graph
Tue Apr 10 15:33:41 2012 UTC (12 years, 2 months ago) by misho
Branches: io2_6
Diff to: branchpoint 1.5: preferred, unified
add helper macro

    1: #include <stdio.h>
    2: #include <string.h>
    3: #include <aitio.h>
    4: 
    5: int
    6: main(int argc, char **argv)
    7: {
    8: 	array_t *a = NULL;
    9: 	void *d = "MEOWeoeoeoeoe!!!";
   10: 
   11: 	a = io_arrayInit(0);
   12: 	if (!a) {
   13: 		printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
   14: 		return 1;
   15: 	}
   16: 	io_arrayElem(a, 5, d);
   17: 	printf("si=%d\n", io_arraySize(a));
   18: 	io_arrayDestroy(&a);
   19: 
   20: 	a = io_arrayInit(10);
   21: 	if (!a) {
   22: 		printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
   23: 		return 1;
   24: 	}
   25: 
   26: 	switch (argc) {
   27: 		case 4:
   28: 			io_arraySet(a, 5, argv[3]);
   29: 		case 3:
   30: 			io_arraySet(a, 4, argv[2]);
   31: 		case 2:
   32: 			io_arraySet(a, 1, argv[1]);
   33: 	}
   34: 
   35: 	printf("d=%p push=%d\n", d, io_arrayPush(a, &d, 0));
   36: 	printf("d=%p pop=%d\n", d, io_arrayPop(a, &d, 0));
   37: 	printf("before last=%d ", io_arrayLast(a));
   38: 	io_arraySyncLast(a);
   39: 	printf("after last=%d\n", io_arrayLast(a));
   40: 	printf("d=%p pop=%d\n", d, io_arrayPop(a, &d, 1));
   41: 	printf("before last=%d ", io_arrayLast(a));
   42: 	io_arraySyncLast(a);
   43: 	printf("after last=%d\n", io_arrayLast(a));
   44: 
   45: 	printf(">>> a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
   46: 			io_array(a, 0, char*), io_array(a, 1, char*), 
   47: 			io_array(a, 2, char*), io_array(a, 3, char*), 
   48: 			io_array(a, 4, char*), io_array(a, 5, char*));
   49: 	printf(">>> array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
   50: 
   51: 	io_arrayVacuum(a, VACUUM_BETWEEN);
   52: 	printf("vacuum:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
   53: 			io_array(a, 0, char*), io_array(a, 1, char*), 
   54: 			io_array(a, 2, char*), io_array(a, 3, char*), 
   55: 			io_array(a, 4, char*), io_array(a, 5, char*));
   56: 
   57: 	printf("vacuum:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
   58: 
   59: 	io_arrayGrow(a, io_arrayLen(a) + 4, 0);
   60: 	printf("grow:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
   61: 	printf("grow:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
   62: 			io_array(a, 0, char*), io_array(a, 1, char*), 
   63: 			io_array(a, 2, char*), /*io_array(a, 3, char*), */ NULL, 
   64: 			/*io_array(a, 4, char*), io_array(a, 5, char*)*/ NULL, NULL);
   65: 
   66: 	io_arrayGrow(a, 1, 0);
   67: 	io_arrayGrow(a, 2, 0);
   68: 	printf("shrink:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
   69: 	printf("shrink:: a[0]=%s a[1]=%s\n", io_array(a, 0, char*), io_array(a, 1, char*));
   70: 
   71: 	io_arrayDestroy(&a);
   72: 	return 0;
   73: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>