ref: 746e0c9217ab9ee1884b721a955b712d59b13549
dir: /arg.h/
/* SPDX-License-Identifier: Unlicense */
#define ARGBEGIN \
for (;;) { \
if (argc > 0) \
++argv, --argc; \
if (argc == 0 || (*argv)[0] != '-') \
break; \
if ((*argv)[1] == '-' && !(*argv)[2]) { \
++argv, --argc; \
break; \
} \
for (char *opt_ = &(*argv)[1], done_ = 0; !done_ && *opt_; ++opt_) { \
switch (*opt_)
#define ARGEND \
} \
}
#define EARGF(x) \
(done_ = 1, opt_[1] ? ++opt_ : argv[1] ? --argc, *++argv : ((x), abort(), (char *)0))