X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fargs.h;h=2d5c6615175ee0663968aa17fd3b5e067ebbd2dd;hb=b4c1a60dc1d38ee55f2fc58cbfc3a9f5c613101c;hp=cc9a58d3f300142bbb7f738126de510171f77b61;hpb=9d85e6224fa9ac5b4c54e7af8ea3b7c9271c2680;p=swftools.git diff --git a/lib/args.h b/lib/args.h index cc9a58d..2d5c661 100644 --- a/lib/args.h +++ b/lib/args.h @@ -15,48 +15,69 @@ extern int args_callback_longoption(char*,char*); extern int args_callback_command(char*,char*); extern void args_callback_usage(char*name); -int argn; -char**argv; +//int argn; +//char**argv; void processargs(int argn2,char**argv2) { int t; if(argn2==1) { - args_callback_usage(argv2[0]); - exit(1); + args_callback_usage(argv2[0]); + exit(1); } for(t=1;tshortoption) { if(!strcmp(options->longoption, name)) { - char*tmp = (char*)malloc(strlen(options->shortoption) - +(equal?strlen(equal)+2:2)); - strcpy(tmp, options->shortoption); - if(equal) { - //strcpy(&tmp[strlen(tmp)], equal); - int ret = args_callback_option(tmp, equal); - return 0; - } - return args_callback_option(tmp,val); - } - options++; + char*tmp = (char*)malloc(strlen(options->shortoption) + +(equal?strlen(equal)+2:2)); + strcpy(tmp, options->shortoption); + if(equal) { + //strcpy(&tmp[strlen(tmp)], equal); + int ret = args_callback_option(tmp, equal); + if(!ret) { + fprintf(stderr, "Warning: Option --%s takes no parameter.\n", name); + } + return 0; + } + return args_callback_option(tmp,val); + } + options++; } fprintf(stderr, "Unknown option: --%s\n", name); exit(1);