tester3.c

Mon, 28 Aug 2000 13:15:36 +0200

author
tuomov
date
Mon, 28 Aug 2000 13:15:36 +0200
changeset 22
79fb689317ea
parent 17
a034888a2227
child 36
63cd573ffbcf
permissions
-rw-r--r--

trunk: changeset 25
Parser error handling fixes

/*
 * libtu/tester3.c
 *
 * Copyright (c) Tuomo Valkonen 1999-2000. 
 * See the included file LICENSE for details.
 */

#include <stdio.h>

#include <libtu/util.h>
#include <libtu/misc.h>
#include <libtu/optparser.h>


static const char usage[]=
	"Usage: $p [options]\n"
	"\n"
	"Where options are:\n"
	"$o\n";
	

static OptParserOpt opts[]={
	{'o',	"opt", OPT_ARG, "OPTION", "foo bar baz quk asdf jklö äölk dfgh quik aaaa bbbb cccc dddd eeee ffff"},
	{'f',	"file", OPT_ARG, "FILE", "asdfsadlfölökjasdflökjasdflkjöasdflkjöas dlöfjkasdfölkjasdfölkjasdfasdflöjasdfkasödjlfkasdlföjasdölfjkölkasjdfasdfölkjasd asdöljfasöldf  asdölfköasdlf asfdlök asdföljkadsfölasdfölasdölkfjasdölfasödlflöskflasdföaölsdf"},
	{'v',	"view",	0, NULL, "asfasdf"},
	{'z',	"zip", 0, NULL, "asdfasdf"},
	{'x',	"extract", 0, NULL, "asdfasdf"},
	{0, NULL, 0, NULL, NULL}
};
	
static OptParserCommonInfo tester3_cinfo={
	NULL,
	usage,
	NULL
};


int main(int argc, char *argv[])
{
	int opt;
	
	libtu_init(argv[0]);
	
	optparser_init(argc, argv, OPTP_NO_DASH, opts, &tester3_cinfo);
	
	while((opt=optparser_get_opt())){
		switch(opt){
		case 'o':
			printf("opt: %s\n", optparser_get_arg());
			break;
		case 'f':
			printf("file: %s\n", optparser_get_arg());
			break;
		case 'v':
			printf("view\n");
			break;
		case 'z':
			printf("zip\n");
			break;
		case 'x':
			printf("extract\n");
			break;
		default:
			optparser_print_error();
			return 1;
		}
	}
	return 0;
}

mercurial