File:  [ELWIX - Embedded LightWeight unIX -] / libaitio / example / Attic / test_array.c
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Sat May 19 00:00:12 2012 UTC (12 years, 1 month ago) by misho
Branches: MAIN
CVS tags: io5_0, io4_1, io4_0, io3_9, io3_8, io3_7, io3_6, io3_5, io3_4, io3_3, io3_2, io3_1, IO4_1, IO4_0, IO3_9, IO3_8, IO3_7, IO3_6, IO3_5, IO3_4, IO3_3, IO3_2, IO3_1, IO3_0, HEAD
version 3.0

#include <stdio.h>
#include <string.h>
#include <aitio.h>

int
main(int argc, char **argv)
{
	array_t *a = NULL;
	void *d = "MEOWeoeoeoeoe!!!";

	a = io_arrayInit(0);
	if (!a) {
		printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
		return 1;
	}
	io_arrayElem(a, 5, d);
	printf("si=%d\n", io_arraySize(a));
	io_arrayDestroy(&a);

	a = io_arrayInit(10);
	if (!a) {
		printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
		return 1;
	}

	switch (argc) {
		case 4:
			io_arraySet(a, 5, argv[3]);
		case 3:
			io_arraySet(a, 4, argv[2]);
		case 2:
			io_arraySet(a, 1, argv[1]);
	}

	printf("d=%p push=%d\n", d, io_arrayPush(a, &d, 0));
	printf("d=%p pop=%d\n", d, io_arrayPop(a, &d, 0));
	printf("last=%d ", io_arrayLast(a));
	printf("d=%p pop=%d\n", d, io_arrayPop(a, &d, 1));
	printf("last=%d ", io_arrayLast(a));

	printf(">>> a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
			io_array(a, 0, char*), io_array(a, 1, char*), 
			io_array(a, 2, char*), io_array(a, 3, char*), 
			io_array(a, 4, char*), io_array(a, 5, char*));
	printf(">>> array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));

	io_arrayVacuum(a, VACUUM_BETWEEN);
	printf("vacuum:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
			io_array(a, 0, char*), io_array(a, 1, char*), 
			io_array(a, 2, char*), io_array(a, 3, char*), 
			io_array(a, 4, char*), io_array(a, 5, char*));

	printf("vacuum:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));

	io_arrayGrow(a, io_arrayLen(a) + 4, 0);
	printf("grow:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
	printf("grow:: a[0]=%s a[1]=%s a[2]=%s a[3]=%s a[4]=%s a[5]=%s\n", 
			io_array(a, 0, char*), io_array(a, 1, char*), 
			io_array(a, 2, char*), /*io_array(a, 3, char*), */ NULL, 
			/*io_array(a, 4, char*), io_array(a, 5, char*)*/ NULL, NULL);

	io_arrayGrow(a, 1, 0);
	io_arrayGrow(a, 2, 0);
	printf("shrink:: array really len=%d array size=%d\n", io_arrayLen(a), io_arraySize(a));
	printf("shrink:: a[0]=%s a[1]=%s\n", io_array(a, 0, char*), io_array(a, 1, char*));

	io_arrayDestroy(&a);
	return 0;
}

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