File:  [ELWIX - Embedded LightWeight unIX -] / libaitio / example / test.c
Revision 1.5: download - view: text, annotated - select for diffs - revision graph
Wed Apr 20 22:56:32 2011 UTC (13 years, 2 months ago) by misho
Branches: MAIN
CVS tags: io2_4, io2_3, io2_2, io2_1, io2_0, io1_9, io1_8, IO2_3, IO2_2, IO2_1, IO2_0, IO1_9, IO1_8, IO1_7, HEAD
Release 1.7

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


int main(int argc, char **argv)
{
	int ret;
	char str[256], *s, s0[2][256];

	if (argc < 2) {
		printf("std:: %s ioPromptRead(NULL) -> %d\n", str, ioPromptRead(NULL, NULL, str, 256));
		printf("std:: %s ioPromptRead(PIUK> ) -> %d\n", str, (ret = ioPromptRead(NULL, "PIUK> ", str, 256)));
		printf("geterror:: #%d - %s\n", io_GetErrno(), io_GetError());

		printf("std:: %s w/o confirm ioPromptPassword(NULL) -> %d\n", str, 
				ioPromptPassword(NULL, NULL, str, 256, 0));
		printf("std:: %s ioPromptPassword(NULL) -> %d\n", str, 
				ioPromptPassword(NULL, NULL, str, 256, 1));
		printf("std:: %s w/o confirm ioPromptPassword(PIUK> ) -> %d\n", str, 
				(ret = ioPromptPassword(NULL, "PIUK pass: ", str, 256, 0)));
		printf("geterror:: #%d - %s\n", io_GetErrno(), io_GetError());

		printf("std:: %s ioPromptRead(FLIUP: ) -> %d\n", str, (ret = ioPromptRead(NULL, "FLIUP: ", str, 256)));

		printf("regex:: %s ioRegexVerify([0-9]+) -> %s\n", str, ioRegexVerify("[0-9]+", "shmink132sdf09", NULL, NULL));
		printf("regex:: %s ioRegexGet([0-9]+) -> %d\n", str, ioRegexGet("[0-9]+", "shmink132sdf09", str, 256));
		printf("regex:: %s not match ioRegexGet([ab]+) -> %d\n", str, ioRegexGet("[ab]+", "shmink132sdf09", str, 256));

		s = ioRegexReplace("[0-9]+", "0shmink132sdf09", "XXX");
		printf("regex:: ioRegexReplace([0-9]+) -> %s with XXX\n", s);
		free(s);
		s = ioRegexReplace("[0-9]+", "shmink132sdf09", NULL);
		printf("regex:: ioRegexReplace([0-9]+) -> %s clear!\n", s);
		free(s);
	}

	if (argc > 2) {
		char *s1, *s2;

		s1 = io_Ch2Hex("PIUK_GN IAH", 256);
		s2 = io_Hex2Ch((unsigned char*) s1, strlen(s1));
		printf("S1=%s S2=%s\n", s1, s2);
		free(s2);
		free(s1);

		printf( "1=%d\n", io_LTrimStr(argv[1]));
		printf( "2=%d\n", io_RTrimStr(argv[2]));
		printf( "3=%d\n", io_TrimStr(argv[3]));
		printf("'%s' '%s' '%s'\n", argv[1], argv[2], argv[3]);
		printf("test p=%s f=%s path2file=%d\n", s0[0], s0[1], io_Path2File(argv[2], s0[0], 256, s0[1], 256));
		return 0;
	}

	if (argc > 1) {
		struct tagIOURL URL;
		int ret = 0;
		array_t *item = NULL;
		char szVal[BUFSIZ];

		printf("URL:: Return=%x --- URL=%s\n", (ret = ioURLGet(argv[1], &URL)), argv[1]);

		printf("URL:: (%x) ***Line=%s\n", ret, URL.url_line);
		printf("URL:: (%x) tech=%s(%d)\n", ret & 1, URL.url_tech.value, URL.url_tech.vallen);
		printf("URL:: (%x) user=%s(%d)\n", ret & 2, URL.url_user.value, URL.url_user.vallen);
		printf("URL:: (%x) pass=%s(%d)\n", ret & 4, URL.url_pass.value, URL.url_pass.vallen);
		printf("URL:: (%x) host=%s(%d)\n", ret & 8, URL.url_host.value, URL.url_host.vallen);
		printf("URL:: (%x) port=%s(%d)\n", ret & 16, URL.url_port.value, URL.url_port.vallen);
		printf("URL:: (%x) path=%s(%d)\n", ret & 32, URL.url_path.value, URL.url_path.vallen);
		printf("URL:: (%x) args=%s(%d)\n", ret & 64, URL.url_args.value, URL.url_args.vallen);
		printf("URL:: (%x) +++reserved=%s\n", ret & 128, URL.url_reserved);

		printf("URL:: Get argsNum=%d\n", io_argsNum(URL.url_args.value, "&"));

		memset(szVal, 0, BUFSIZ);
		printf("Get_url:: %s Attribute=piuk %d\n", szVal, ioURLGetValue(&URL, "piuk", szVal, BUFSIZ));
		printf("Get_url:: %s Attribute=sg %d\n", szVal, ioURLGetValue(&URL, "sg", szVal, BUFSIZ));
		printf("Get_url:: %s Attribute=sgg %d\n", szVal, ioURLGetValue(&URL, "sgg", szVal, BUFSIZ));
		printf("Get_url:: %s Attribute=sfsf %d\n", szVal, ioURLGetValue(&URL, "sfsf", NULL, BUFSIZ));
		printf("Get_url:: %s Attribute=vv %d\n", szVal, ioURLGetValue(&URL, "vv", NULL, 0));
		printf("Get_url:: %s Attribute=vv %d\n", szVal, ioURLGetValue(&URL, "vv", szVal, BUFSIZ));

		printf("File_url:: File=%s %d\n", szVal, ioURLGetFile(&URL, szVal, BUFSIZ));

		printf("URL:: array args=%d\n", io_arrayMake(URL.url_args.value, 4, "&", &item));
		for (ret = 0; ret < 4 && item->arr_data[ret]; ret++)
			printf("array:: item[%d]=%s\n", ret, item->arr_data[ret]);
		if (item)
			io_arrayDestroy(&item);

		printf("URL:: array path=%d\n", io_arrayMake(URL.url_path.value, 2, "/", &item));
		for (ret = 0; ret < 2 && item->arr_data[ret]; ret++)
			printf("array:: item[%d]=%s\n", ret, item->arr_data[ret]);
		if (item)
			io_arrayDestroy(&item);
	}
	return 0;
}

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