X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fargs.h;h=551623ece799f6a88f6d431bd7b5fdac0d233342;hb=e29229a3ea9992a5422f03846bab43035463e14c;hp=733ab7597c58a7a98f1de7271fb9a222e4031602;hpb=69bc83b008896f8bf152ec30680a92e747772859;p=swftools.git diff --git a/lib/args.h b/lib/args.h index 733ab75..551623e 100644 --- a/lib/args.h +++ b/lib/args.h @@ -15,8 +15,8 @@ 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) { @@ -50,7 +50,28 @@ void processargs(int argn2,char**argv2) args_callback_usage(argv2[0]); exit(1); } - t+=args_callback_option(&argv2[t][1],next); + if(argv2[t][1]) // this might be something like e.g. -xvf + { + char buf[2]; + buf[1]=0; + int s=1; + int ret; + do{ + if(argv2[t][s+1]) { + buf[0] = argv2[t][s]; + ret = args_callback_option(buf,&argv2[t][s+1]); + } + else { + t+= args_callback_option(&argv2[t][s], next); + break; + } + s++; + } while(!ret); + } + else // - usually means "read stdout" + { + t+=args_callback_option(&argv2[t][1],next); + } } } else