diff options
author | jack <[email protected]> | 2023-11-28 11:36:29 -0700 |
---|---|---|
committer | jack <[email protected]> | 2023-11-28 11:36:29 -0700 |
commit | d7d1f3fbf52f916807f06b88fbb2f732cc5b5b80 (patch) | |
tree | 4ba314ffb170db15575b1a565d65e7cfde230b62 /arg.h | |
parent | 6809f2a1a81b70385d653a942ec673192daa41b7 (diff) | |
download | st-d7d1f3fbf52f916807f06b88fbb2f732cc5b5b80.tar.gz st-d7d1f3fbf52f916807f06b88fbb2f732cc5b5b80.zip |
fixup
Diffstat (limited to 'arg.h')
-rw-r--r-- | arg.h | 72 |
1 files changed, 35 insertions, 37 deletions
@@ -9,42 +9,40 @@ extern char *argv0; /* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - int i_;\ - for (i_ = 1, brk_ = 0, argv_ = argv;\ - argv[0][i_] && !brk_;\ - i_++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][i_];\ - switch (argc_) - -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define EARGF(x) ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][i_+1] != '\0')?\ - (&argv[0][i_+1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][i_+1] != '\0')?\ - (&argv[0][i_+1]) :\ - (argc--, argv++, argv[0]))) +#define ARGBEGIN \ + for (argv0 = *argv, argv++, argc--; \ + argv[0] && argv[0][0] == '-' && argv[0][1]; argc--, argv++) { \ + char argc_; \ + char **argv_; \ + int brk_; \ + if (argv[0][1] == '-' && argv[0][2] == '\0') { \ + argv++; \ + argc--; \ + break; \ + } \ + int i_; \ + for (i_ = 1, brk_ = 0, argv_ = argv; argv[0][i_] && !brk_; i_++) { \ + if (argv_ != argv) \ + break; \ + argc_ = argv[0][i_]; \ + switch (argc_) + +#define ARGEND \ + } \ + } + +#define ARGC() argc_ + +#define EARGF(x) \ + ((argv[0][i_ + 1] == '\0' && argv[1] == NULL) \ + ? ((x), abort(), (char *)0) \ + : (brk_ = 1, (argv[0][i_ + 1] != '\0') ? (&argv[0][i_ + 1]) \ + : (argc--, argv++, argv[0]))) + +#define ARGF() \ + ((argv[0][i_ + 1] == '\0' && argv[1] == NULL) \ + ? (char *)0 \ + : (brk_ = 1, (argv[0][i_ + 1] != '\0') ? (&argv[0][i_ + 1]) \ + : (argc--, argv++, argv[0]))) #endif |