- if(argv2[t][0]=='-')
- {
- if(argv2[t][1]=='-')
- {
- if(!strcmp(&argv2[t][2],"help"))
- {
- args_callback_usage(argv2[0]);
- exit(1);
- }
- t+=args_callback_longoption(&argv2[t][2],next);
- }
- else
- {
- if(strchr("?h",argv2[t][1]))
- {
- args_callback_usage(argv2[0]);
- exit(1);
- }
- t+=args_callback_option(&argv2[t][1],next);
- }
- }
- else
- {
- t+=args_callback_command(argv2[t],next);
- }
+ if(argv2[t][0]=='-')
+ {
+ if(argv2[t][1]=='-')
+ {
+ if(!strcmp(&argv2[t][2],"help"))
+ {
+ args_callback_usage(argv2[0]);
+ exit(1);
+ }
+ t+=args_callback_longoption(&argv2[t][2],next);
+ }
+ else
+ {
+ if(strchr("?h",argv2[t][1]))
+ {
+ args_callback_usage(argv2[0]);
+ exit(1);
+ }
+ if(argv2[t][1]) // this might be something like e.g. -xvf
+ {
+ char buf[2];
+ int s=1;
+ int ret;
+ buf[1]=0;
+ 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
+ {
+ t+=args_callback_command(argv2[t],next);
+ }