--- arg.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/arg.h b/arg.h index d565126..5e9de7c 100644 --- a/arg.h +++ b/arg.h @@ -26,24 +26,25 @@ extern char *argv0; *argv && (*argv)[0] == '-' && (*argv)[1]; \ argc--, argv++) \ { \ - int i_, argused_; \ + char *arg_; \ + int argused_; \ if ((*argv)[1] == '-' && !(*argv)[2]) { \ argc--, argv++; \ break; \ } \ - for (i_ = 1, argused_ = 0; (*argv)[i_]; i_++) { \ - switch((*argv)[i_]) + for (arg_ = *argv + 1, argused_ = 0; *arg_; arg_++) { \ + switch(*arg_) #define ARGEND if (argused_) { \ - if (! (*argv)[i_ + 1]) \ + if (! arg_[1]) \ argc--, argv++; \ break; \ } \ } \ } -#define ARGC() ((*argv)[i_]) -#define ARGF_(x) ((*argv)[i_ + 1] ? (argused_ = 1, *argv + i_ + 1) : \ - argv[1] ? (argused_ = 1, argv[1] ) : (x)) +#define ARGC() (*arg_) +#define ARGF_(x) (arg_[1] ? (argused_ = 1, arg_ + 1) : \ + argv[1] ? (argused_ = 1, argv[1] ) : (x)) #define EARGF(x) ARGF_(( (x), exit(1), NULL)) #define ARGF() ARGF_(NULL) -- 2.31.1