X-Git-Url: https://git.datadissipation.net/libcext/blobdiff_plain/576f1e91efe7bbb49a5682903b23d6d37b6b6725..HEAD:/getopt_long.h?ds=sidebyside diff --git a/getopt_long.h b/getopt_long.h index 3878fab..06fac1c 100644 --- a/getopt_long.h +++ b/getopt_long.h @@ -38,18 +38,21 @@ */ /* https://git.datadissipation.net */ -#ifndef GETOPT_LONG_H_ - #define GETOPT_LONG_H_ 1 +#ifndef LCE_GETOPT_LONG_H + #define LCE_GETOPT_LONG_H 1 - #ifdef GETOPT_LONG_INCLUDE_LIBC + #ifdef LCE_GETOPT_LONG_INCLUDE_LIBC #include #include #include #include - #endif /* GETOPT_LONG_INCLUDE_LIBC */ + #endif /* LCE_GETOPT_LONG_INCLUDE_LIBC */ #ifndef HAVE_GETOPT_LONG #define HAVE_GETOPT_LONG 1 + #ifndef HAVE_GETOPT + #define HAVE_GETOPT 1 + #endif /* !HAVE_GETOPT */ #define no_argument 0 #define required_argument 1 @@ -59,27 +62,27 @@ * structs are in their own namespace, so this should be OK * the worst it can do is make compiler messages worse */ - #define option i_option_ - - #define optarg i_optarg_ - #define suboptarg i_suboptarg_ - #define optind i_optind_ - #define opterr i_opterr_ - #define optopt i_optopt_ - #define optreset i_optreset_ - - #define getopt i_getopt_ - #define getsubopt i_getsubopt_ - #define getopt_long i_getopt_long_ - #define getopt_long_only i_getopt_long_only_ - - #ifndef GETOPT_LONG_IMPLEMENTATION -extern char *i_optarg_; -extern char *i_suboptarg_; -extern int i_optind_, i_opterr_, i_optopt_, i_optreset_; - #endif /* !GETOPT_LONG_IMPLEMENTATION */ - -struct i_option_ { + #define option lce_option_ + + #define optarg lce_optarg_ + #define suboptarg lce_suboptarg_ + #define optind lce_optind_ + #define opterr lce_opterr_ + #define optopt lce_optopt_ + #define optreset lce_optreset_ + + #define getopt lce_getopt_ + #define getsubopt lce_getsubopt_ + #define getopt_long lce_getopt_long_ + #define getopt_long_only lce_getopt_long_only_ + + #ifndef LCE_GETOPT_LONG_IMPLEMENTATION +extern char *lce_optarg_; +extern char *lce_suboptarg_; +extern int lce_optind_, lce_opterr_, lce_optopt_, lce_optreset_; + #endif /* !LCE_GETOPT_LONG_IMPLEMENTATION */ + +struct lce_option_ { const char *name; /* * one of no_argument, required_argument, and optional_argument: @@ -92,68 +95,68 @@ struct i_option_ { int val; }; -int i_getopt_(int argc, char * const *argv, const char *optstring); -int i_getsubopt_(char **optionp, char * const *tokens, char **valuep); -int i_getopt_long_(int argc, char * const *argv, const char *optstring, +int lce_getopt_(int argc, char * const *argv, const char *optstring); +int lce_getsubopt_(char **optionp, char * const *tokens, char **valuep); +int lce_getopt_long_(int argc, char * const *argv, const char *optstring, const struct option *longopts, int *longindex); -int i_getopt_long_only_(int argc, char * const *argv, const char *optstring, +int lce_getopt_long_only_(int argc, char * const *argv, const char *optstring, const struct option *longopts, int *longindex); #endif /* !HAVE_GETOPT_LONG */ - #ifdef GETOPT_LONG_IMPLEMENTATION - #define I_PRINT_ERROR_ ((i_opterr_) && (*options != ':')) + #ifdef LCE_GETOPT_LONG_IMPLEMENTATION + #define LCE_PRINT_ERROR_ ((lce_opterr_) && (*options != ':')) - #define I_FLAG_PERMUTE_ 0x01 /* permute non-options to the end of argv */ - #define I_FLAG_ALLARGS_ 0x02 /* treat non-options as args to option "-1" */ - #define I_FLAG_LONGONLY_ 0x04 /* operate as getopt_long_only */ + #define LCE_FLAG_PERMUTE_ 0x01 /* permute non-options to the end of argv */ + #define LCE_FLAG_ALLARGS_ 0x02 /* treat non-options as args to option "-1" */ + #define LCE_FLAG_LONGONLY_ 0x04 /* operate as getopt_long_only */ /* return values */ - #define I_BADCH_ (int) '?' - #define I_BADARG_ ((*options == ':') ? (int) ':' : (int) '?') - #define I_INORDER_ (int) 1 + #define LCE_BADCH_ (int) '?' + #define LCE_BADARG_ ((*options == ':') ? (int) ':' : (int) '?') + #define LCE_INORDER_ (int) 1 - #define I_EMSG_ "" + #define LCE_EMSG_ "" -int i_opterr_ = 1; /* if error message should be printed */ -int i_optind_ = 1; /* index into parent argv vector */ -int i_optopt_ = '?'; /* character checked for validity */ -int i_optreset_; /* reset getopt */ -char *i_optarg_; /* argument associated with option */ -char *i_suboptarg_; /* argument associated with suboption */ +int lce_opterr_ = 1; /* if error message should be printed */ +int lce_optind_ = 1; /* index into parent argv vector */ +int lce_optopt_ = '?'; /* character checked for validity */ +int lce_optreset_; /* reset getopt */ +char *lce_optarg_; /* argument associated with option */ +char *lce_suboptarg_; /* argument associated with suboption */ /* XXX: set optreset to 1 rather than these two */ -static int i_nonopt_start_ = -1; /* first non option argument (for permute) */ -static int i_nonopt_end_ = -1; /* first option after non options (for permute) */ -static char *i_place_ = I_EMSG_; /* option letter processing */ -static char *i_progname_; /* program name == argv[0] */ +static int lce_nonopt_start_ = -1; /* first non option argument (for permute) */ +static int lce_nonopt_end_ = -1; /* first option after non options (for permute) */ +static char *lce_place_ = LCE_EMSG_; /* option letter processing */ +static char *lce_progname_; /* program name == argv[0] */ /* Error messages */ -static const char i_recargchar_[] = "option requires an argument -- %c"; -static const char i_recargstring_[] = "option requires an argument -- %s"; -static const char i_ambig_[] = "i_ambig_uous option -- %.*s"; -static const char i_noarg_[] = "option doesn't take an argument -- %.*s"; -static const char i_illoptchar_[] = "unknown option -- %c"; -static const char i_illoptstring_[] = "unknown option -- %s"; - -static void i_warnx_(const char *, ...); -static int i_getopt_internal_(int, char * const *, const char *, +static const char lce_recargchar_[] = "option requires an argument -- %c"; +static const char lce_recargstring_[] = "option requires an argument -- %s"; +static const char lce_ambig_[] = "ambiguous option -- %.*s"; +static const char lce_noarg_[] = "option doesn't take an argument -- %.*s"; +static const char lce_illoptchar_[] = "unknown option -- %c"; +static const char lce_illoptstring_[] = "unknown option -- %s"; + +static void lce_warnx_(const char *, ...); +static int lce_getopt_internal_(int, char * const *, const char *, const struct option *, int *, int); -static int i_parse_long_options__(char * const *, const char *, +static int lce_parse_long_options__(char * const *, const char *, const struct option *, int *, int); -static int i_gcd_(int, int); -static void i_permute_args_(int, int, int, char * const *); +static int lce_gcd_(int, int); +static void lce_permute_args_(int, int, int, char * const *); /* * Own warnx() for portability */ void -i_warnx_(const char *fmt, ...) +lce_warnx_(const char *fmt, ...) { va_list args; va_start(args, fmt); - fprintf(stderr, "%s: ", i_progname_); + fprintf(stderr, "%s: ", lce_progname_); vfprintf(stderr, fmt, args); fputc('\n', stderr); va_end(args); @@ -163,7 +166,7 @@ i_warnx_(const char *fmt, ...) * Compute the greatest common divisor of a and b. */ static int -i_gcd_(int a, int b) +lce_gcd_(int a, int b) { int c; @@ -183,7 +186,7 @@ i_gcd_(int a, int b) * in each block). */ static void -i_permute_args_(int panonopt_start, int panonopt_end, int opt_end, +lce_permute_args_(int panonopt_start, int panonopt_end, int opt_end, char * const *nargv) { int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos; @@ -194,7 +197,7 @@ i_permute_args_(int panonopt_start, int panonopt_end, int opt_end, */ nnonopts = panonopt_end - panonopt_start; nopts = opt_end - panonopt_end; - ncycle = i_gcd_(nnonopts, nopts); + ncycle = lce_gcd_(nnonopts, nopts); cyclelen = (opt_end - panonopt_start) / ncycle; for (i = 0; i < ncycle; i++) { @@ -215,12 +218,12 @@ i_permute_args_(int panonopt_start, int panonopt_end, int opt_end, } /* - * i_parse_long_options__ -- + * lce_parse_long_options__ -- * Parse long options in argc/argv argument vector. * Returns -1 if short_too is set and the option does not match long_options. */ static int -i_parse_long_options__(char * const *nargv, const char *options, +lce_parse_long_options__(char * const *nargv, const char *options, const struct option *long_options, int *idx, int short_too) { @@ -228,10 +231,10 @@ i_parse_long_options__(char * const *nargv, const char *options, size_t current_argv_len; int i, match; - current_argv = i_place_; + current_argv = lce_place_; match = -1; - i_optind_++; + lce_optind_++; if ((has_equal = strchr(current_argv, '=')) != NULL) { /* argument found (--option=arg) */ @@ -262,68 +265,68 @@ i_parse_long_options__(char * const *nargv, const char *options, match = i; } else { /* ambiguous abbreviation */ - if (I_PRINT_ERROR_) - i_warnx_(i_ambig_, (int) current_argv_len, + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_ambig_, (int) current_argv_len, current_argv); - i_optopt_ = 0; - return (I_BADCH_); + lce_optopt_ = 0; + return (LCE_BADCH_); } } if (match != -1) { /* option found */ if (long_options[match].has_arg == no_argument && has_equal) { - if (I_PRINT_ERROR_) - i_warnx_(i_noarg_, (int) current_argv_len, + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_noarg_, (int) current_argv_len, current_argv); /* * XXX: GNU sets optopt to val regardless of flag */ if (long_options[match].flag == NULL) - i_optopt_ = long_options[match].val; + lce_optopt_ = long_options[match].val; else - i_optopt_ = 0; - return (I_BADARG_); + lce_optopt_ = 0; + return (LCE_BADARG_); } if (long_options[match].has_arg == required_argument || long_options[match].has_arg == optional_argument) { if (has_equal){ - i_optarg_ = has_equal; + lce_optarg_ = has_equal; } else if (long_options[match].has_arg == required_argument) { /* * optional argument doesn't use next nargv */ - i_optarg_ = nargv[i_optind_++]; + lce_optarg_ = nargv[lce_optind_++]; } } if ((long_options[match].has_arg == required_argument) - && (i_optarg_ == NULL)) { + && (lce_optarg_ == NULL)) { /* * Missing argument; leading ':' indicates no error * should be generated. */ - if (I_PRINT_ERROR_) - i_warnx_(i_recargstring_, + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_recargstring_, current_argv); /* * XXX: GNU sets optopt to val regardless of flag */ if (long_options[match].flag == NULL) - i_optopt_ = long_options[match].val; + lce_optopt_ = long_options[match].val; else - i_optopt_ = 0; - --i_optind_; - return (I_BADARG_); + lce_optopt_ = 0; + --lce_optind_; + return (LCE_BADARG_); } } else { /* unknown option */ if (short_too) { - --i_optind_; + --lce_optind_; return (-1); } - if (I_PRINT_ERROR_) - i_warnx_(i_illoptstring_, current_argv); - i_optopt_ = 0; - return (I_BADCH_); + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_illoptstring_, current_argv); + lce_optopt_ = 0; + return (LCE_BADCH_); } if (idx) *idx = match; @@ -336,11 +339,11 @@ i_parse_long_options__(char * const *nargv, const char *options, } /* - * i_getopt_internal_ -- + * lce_getopt_internal_ -- * Parse argc/argv argument vector. Called by user level routines. */ static int -i_getopt_internal_(int nargc, char *const *nargv, const char *options, +lce_getopt_internal_(int nargc, char *const *nargv, const char *options, const struct option *long_options, int *idx, int flags) { char *oli; /* option letter list index */ @@ -350,63 +353,63 @@ i_getopt_internal_(int nargc, char *const *nargv, const char *options, if (options == NULL) return (-1); - i_progname_ = nargv[0]; + lce_progname_ = nargv[0]; /* * XXX Some GNU programs (like cvs) set optind to 0 instead of * XXX using optreset. Work around this braindamage. */ - if (i_optind_ == 0) - i_optind_ = i_optreset_ = 1; + if (lce_optind_ == 0) + lce_optind_ = lce_optreset_ = 1; /* * Disable GNU extensions if POSIXLY_CORRECT is set or options * string begins with a '+'. */ - if (posix_me_harder == -1 || i_optreset_) + if (posix_me_harder == -1 || lce_optreset_) posix_me_harder = (getenv("POSIXLY_CORRECT") != NULL); if (*options == '-') - flags |= I_FLAG_ALLARGS_; + flags |= LCE_FLAG_ALLARGS_; else if (posix_me_harder || *options == '+') - flags &= ~I_FLAG_PERMUTE_; + flags &= ~LCE_FLAG_PERMUTE_; if (*options == '+' || *options == '-') options++; - i_optarg_ = NULL; - if (i_optreset_) - i_nonopt_start_ = i_nonopt_end_ = -1; + lce_optarg_ = NULL; + if (lce_optreset_) + lce_nonopt_start_ = lce_nonopt_end_ = -1; start: - if (i_optreset_ || !*i_place_) { /* update scanning pointer */ - i_optreset_ = 0; - if (i_optind_ >= nargc) { /* end of argument vector */ - i_place_ = I_EMSG_; - if (i_nonopt_end_ != -1) { + if (lce_optreset_ || !*lce_place_) { /* update scanning pointer */ + lce_optreset_ = 0; + if (lce_optind_ >= nargc) { /* end of argument vector */ + lce_place_ = LCE_EMSG_; + if (lce_nonopt_end_ != -1) { /* do permutation, if we have to */ - i_permute_args_(i_nonopt_start_, i_nonopt_end_, - i_optind_, nargv); - i_optind_ -= i_nonopt_end_ - i_nonopt_start_; - } else if (i_nonopt_start_ != -1) { + lce_permute_args_(lce_nonopt_start_, lce_nonopt_end_, + lce_optind_, nargv); + lce_optind_ -= lce_nonopt_end_ - lce_nonopt_start_; + } else if (lce_nonopt_start_ != -1) { /* * If we skipped non-options, set optind * to the first of them. */ - i_optind_ = i_nonopt_start_; + lce_optind_ = lce_nonopt_start_; } - i_nonopt_start_ = i_nonopt_end_ = -1; + lce_nonopt_start_ = lce_nonopt_end_ = -1; return (-1); } - if (*(i_place_ = nargv[i_optind_]) != '-' || - (i_place_[1] == '\0' && strchr(options, '-') == NULL)) { - i_place_ = I_EMSG_; /* found non-option */ - if (flags & I_FLAG_ALLARGS_) { + if (*(lce_place_ = nargv[lce_optind_]) != '-' || + (lce_place_[1] == '\0' && strchr(options, '-') == NULL)) { + lce_place_ = LCE_EMSG_; /* found non-option */ + if (flags & LCE_FLAG_ALLARGS_) { /* * GNU extension: * return non-option as argument to option 1 */ - i_optarg_ = nargv[i_optind_++]; - return (I_INORDER_); + lce_optarg_ = nargv[lce_optind_++]; + return (LCE_INORDER_); } - if (!(flags & I_FLAG_PERMUTE_)) { + if (!(flags & LCE_FLAG_PERMUTE_)) { /* * If no permutation wanted, stop parsing * at first non-option. @@ -414,40 +417,40 @@ start: return (-1); } /* do permutation */ - if (i_nonopt_start_ == -1) { - i_nonopt_start_ = i_optind_; - } else if (i_nonopt_end_ != -1) { - i_permute_args_(i_nonopt_start_, i_nonopt_end_, - i_optind_, nargv); - i_nonopt_start_ = i_optind_ - - (i_nonopt_end_ - - i_nonopt_start_); - i_nonopt_end_ = -1; + if (lce_nonopt_start_ == -1) { + lce_nonopt_start_ = lce_optind_; + } else if (lce_nonopt_end_ != -1) { + lce_permute_args_(lce_nonopt_start_, lce_nonopt_end_, + lce_optind_, nargv); + lce_nonopt_start_ = lce_optind_ - + (lce_nonopt_end_ - + lce_nonopt_start_); + lce_nonopt_end_ = -1; } - i_optind_++; + lce_optind_++; /* process next argument */ goto start; } - if (i_nonopt_start_ != -1 && i_nonopt_end_ == -1) - i_nonopt_end_ = i_optind_; + if (lce_nonopt_start_ != -1 && lce_nonopt_end_ == -1) + lce_nonopt_end_ = lce_optind_; /* * If we have "-" do nothing, if "--" we are done. */ - if (i_place_[1] != '\0' && *++i_place_ == '-' && i_place_[1] == + if (lce_place_[1] != '\0' && *++lce_place_ == '-' && lce_place_[1] == '\0') { - i_optind_++; - i_place_ = I_EMSG_; + lce_optind_++; + lce_place_ = LCE_EMSG_; /* * We found an option (--), so if we skipped * non-options, we have to permute. */ - if (i_nonopt_end_ != -1) { - i_permute_args_(i_nonopt_start_, i_nonopt_end_, - i_optind_, nargv); - i_optind_ -= i_nonopt_end_ - i_nonopt_start_; + if (lce_nonopt_end_ != -1) { + lce_permute_args_(lce_nonopt_start_, lce_nonopt_end_, + lce_optind_, nargv); + lce_optind_ -= lce_nonopt_end_ - lce_nonopt_start_; } - i_nonopt_start_ = i_nonopt_end_ = -1; + lce_nonopt_start_ = lce_nonopt_end_ = -1; return (-1); } } @@ -456,93 +459,93 @@ start: * Check long options if: * 1) we were passed some * 2) the arg is not just "-" - * 3) either the arg starts with -- we are i_getopt_long_only() + * 3) either the arg starts with -- we are lce_getopt_long_only() */ - if (long_options != NULL && i_place_ != nargv[i_optind_] && - (*i_place_ == '-' || (flags & I_FLAG_LONGONLY_))) { + if (long_options != NULL && lce_place_ != nargv[lce_optind_] && + (*lce_place_ == '-' || (flags & LCE_FLAG_LONGONLY_))) { short_too = 0; - if (*i_place_ == '-') - i_place_++; /* --foo long option */ - else if (*i_place_ != ':' - && strchr(options, *i_place_) != NULL) + if (*lce_place_ == '-') + lce_place_++; /* --foo long option */ + else if (*lce_place_ != ':' + && strchr(options, *lce_place_) != NULL) short_too = 1; /* could be short option too */ - optchar = i_parse_long_options__(nargv, options, long_options, + optchar = lce_parse_long_options__(nargv, options, long_options, idx, short_too); if (optchar != -1) { - i_place_ = I_EMSG_; + lce_place_ = LCE_EMSG_; return (optchar); } } - if ((optchar = (int) *i_place_++) == (int) ':' || - (optchar == (int) '-' && *i_place_ != '\0') || + if ((optchar = (int) *lce_place_++) == (int) ':' || + (optchar == (int) '-' && *lce_place_ != '\0') || (oli = strchr(options, optchar)) == NULL) { /* * If the user specified "-" and '-' isn't listed in * options, return -1 (non-option) as per POSIX. * Otherwise, it is an unknown option character (or ':'). */ - if (optchar == (int) '-' && *i_place_ == '\0') + if (optchar == (int) '-' && *lce_place_ == '\0') return (-1); - if (!*i_place_) - ++i_optind_; - if (I_PRINT_ERROR_) - i_warnx_(i_illoptchar_, optchar); - i_optopt_ = optchar; - return (I_BADCH_); + if (!*lce_place_) + ++lce_optind_; + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_illoptchar_, optchar); + lce_optopt_ = optchar; + return (LCE_BADCH_); } if (long_options != NULL && optchar == 'W' && oli[1] == ';') { /* -W long-option */ - if (*i_place_) { /* no space */ + if (*lce_place_) { /* no space */ /* NOTHING */ ; - } else if (++i_optind_ >= nargc) { /* no arg */ - i_place_ = I_EMSG_; - if (I_PRINT_ERROR_) - i_warnx_(i_recargchar_, optchar); - i_optopt_ = optchar; - return (I_BADARG_); + } else if (++lce_optind_ >= nargc) { /* no arg */ + lce_place_ = LCE_EMSG_; + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_recargchar_, optchar); + lce_optopt_ = optchar; + return (LCE_BADARG_); } else { /* white space */ - i_place_ = nargv[i_optind_]; + lce_place_ = nargv[lce_optind_]; } - optchar = i_parse_long_options__(nargv, options, long_options, + optchar = lce_parse_long_options__(nargv, options, long_options, idx, 0); - i_place_ = I_EMSG_; + lce_place_ = LCE_EMSG_; return (optchar); } if (*++oli != ':') { /* doesn't take argument */ - if (!*i_place_) - ++i_optind_; + if (!*lce_place_) + ++lce_optind_; } else { /* takes (optional) argument */ - i_optarg_ = NULL; - if (*i_place_){ /* no white space */ - i_optarg_ = i_place_; + lce_optarg_ = NULL; + if (*lce_place_){ /* no white space */ + lce_optarg_ = lce_place_; } else if (oli[1] != ':'){ /* arg not optional */ - if (++i_optind_ >= nargc) { /* no arg */ - i_place_ = I_EMSG_; - if (I_PRINT_ERROR_) - i_warnx_(i_recargchar_, optchar); - i_optopt_ = optchar; - return (I_BADARG_); + if (++lce_optind_ >= nargc) { /* no arg */ + lce_place_ = LCE_EMSG_; + if (LCE_PRINT_ERROR_) + lce_warnx_(lce_recargchar_, optchar); + lce_optopt_ = optchar; + return (LCE_BADARG_); } else { - i_optarg_ = nargv[i_optind_]; + lce_optarg_ = nargv[lce_optind_]; } } - i_place_ = I_EMSG_; - ++i_optind_; + lce_place_ = LCE_EMSG_; + ++lce_optind_; } /* dump back option letter */ return (optchar); } int -i_getsubopt_(char **optionp, char * const *tokens, char **valuep) +lce_getsubopt_(char **optionp, char * const *tokens, char **valuep) { int cnt; char *p; - i_suboptarg_ = *valuep = NULL; + lce_suboptarg_ = *valuep = NULL; if (!optionp || !*optionp) return (-1); @@ -556,7 +559,7 @@ i_getsubopt_(char **optionp, char * const *tokens, char **valuep) } /* save the start of the token, and skip the rest of the token. */ - for (i_suboptarg_ = p; + for (lce_suboptarg_ = p; *++p && *p != ',' && *p != '=' && *p != ' ' && *p != '\t';) ; if (*p) { @@ -582,46 +585,46 @@ i_getsubopt_(char **optionp, char * const *tokens, char **valuep) *optionp = p; for (cnt = 0; *tokens; ++tokens, ++cnt) - if (!strcmp(i_suboptarg_, *tokens)) + if (!strcmp(lce_suboptarg_, *tokens)) return (cnt); return (-1); } int -i_getopt_(int argc, char * const *argv, const char *optstring) +lce_getopt_(int argc, char * const *argv, const char *optstring) { -#ifdef GETOPT_PERMUTE_ARGS - return (i_getopt_internal_(argc, argv, optstring, NULL, NULL, - I_FLAG_PERMUTE_)); +#ifdef LCE_GETOPT_PERMUTE_ARGS + return (lce_getopt_internal_(argc, argv, optstring, NULL, NULL, + LCE_FLAG_PERMUTE_)); #else - return (i_getopt_internal_(argc, argv, optstring, NULL, NULL, 0)); -#endif + return (lce_getopt_internal_(argc, argv, optstring, NULL, NULL, 0)); +#endif /* LCE_GETOPT_PERMUTE_ARGS */ } int -i_getopt_long_(int argc, char * const *argv, const char *optstring, +lce_getopt_long_(int argc, char * const *argv, const char *optstring, const struct option *longopts, int *longindex) { -#ifdef GETOPT_LONG_PERMUTE_ARGS - return (i_getopt_internal_(argc, argv, optstring, longopts, longindex, - I_FLAG_PERMUTE_)); +#ifdef LCE_GETOPT_LONG_PERMUTE_ARGS + return (lce_getopt_internal_(argc, argv, optstring, longopts, longindex, + LCE_FLAG_PERMUTE_)); #else - return (i_getopt_internal_(argc, argv, optstring, longopts, longindex, 0 + return (lce_getopt_internal_(argc, argv, optstring, longopts, longindex, 0 )); -#endif +#endif /* LCE_GETOPT_LONG_PERMUTE_ARGS */ } int -i_getopt_long_only_(int argc, char * const *argv, const char *optstring, +lce_getopt_long_only_(int argc, char * const *argv, const char *optstring, const struct option *longopts, int *longindex) { -#ifdef GETOPT_LONG_ONLY_PERMUTE_ARGS - return (i_getopt_internal_(argc, argv, optstring, longopts, longindex, - I_FLAG_PERMUTE_ | I_FLAG_LONGONLY_)); +#ifdef LCE_GETOPT_LONG_ONLY_PERMUTE_ARGS + return (lce_getopt_internal_(argc, argv, optstring, longopts, longindex, + LCE_FLAG_PERMUTE_ | I_FLAG_LONGONLY_)); #else - return (i_getopt_internal_(argc, argv, optstring, longopts, longindex, - I_FLAG_LONGONLY_)); -#endif + return (lce_getopt_internal_(argc, argv, optstring, longopts, longindex, + LCE_FLAG_LONGONLY_)); +#endif /* LCE_GETOPT_LONG_ONLY_PERMUTE_ARGS */ } - #endif /* GETOPT_LONG_IMPLEMENTATION */ -#endif /* !GETOPT_LONG_H_ */ + #endif /* LCE_GETOPT_LONG_IMPLEMENTATION */ +#endif /* !LCE_GETOPT_LONG_H */