From cdccc69c62579b0c13b35fad0728079652b8f3c9 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 31 Jan 2023 11:21:30 +0100 Subject: Move library source into src sub-directory Signed-off-by: David Oberhollenzer --- lib/compat/getopt_long.c | 95 ------------------------------------------------ 1 file changed, 95 deletions(-) delete mode 100644 lib/compat/getopt_long.c (limited to 'lib/compat/getopt_long.c') diff --git a/lib/compat/getopt_long.c b/lib/compat/getopt_long.c deleted file mode 100644 index 58354c3..0000000 --- a/lib/compat/getopt_long.c +++ /dev/null @@ -1,95 +0,0 @@ -#include "compat.h" - -#include -#include -#include -#include -#include -#include - -#ifndef HAVE_GETOPT_LONG -static void permute(char *const *argv, int dest, int src) -{ - char **av = (char **)argv; - char *tmp = av[src]; - int i; - for (i=src; i>dest; i--) - av[i] = av[i-1]; - av[dest] = tmp; -} - -int getopt_long(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx) -{ - optarg = 0; - if (longopts && argv[optind][0] == '-' && - (argv[optind][1] == '-' && argv[optind][2])) - { - int colon = optstring[optstring[0]=='+'||optstring[0]=='-']==':'; - int i, cnt, match; - char *arg, *opt, *start = argv[optind]+1; - for (cnt=i=0; longopts[i].name; i++) { - const char *name = longopts[i].name; - opt = start; - if (*opt == '-') opt++; - while (*opt && *opt != '=' && *opt == *name) - name++, opt++; - if (*opt && *opt != '=') continue; - arg = opt; - match = i; - if (!*name) { - cnt = 1; - break; - } - cnt++; - } - if (cnt==1) { - i = match; - opt = arg; - optind++; - if (*opt == '=') { - if (!longopts[i].has_arg) { - optopt = longopts[i].val; - if (colon || !opterr) - return '?'; - __getopt_msg(argv[0], - ": option does not take an argument: ", - longopts[i].name, - strlen(longopts[i].name)); - return '?'; - } - optarg = opt+1; - } else if (longopts[i].has_arg == required_argument) { - if (!(optarg = argv[optind])) { - optopt = longopts[i].val; - if (colon) return ':'; - if (!opterr) return '?'; - __getopt_msg(argv[0], - ": option requires an argument: ", - longopts[i].name, - strlen(longopts[i].name)); - return '?'; - } - optind++; - } - if (idx) *idx = i; - if (longopts[i].flag) { - *longopts[i].flag = longopts[i].val; - return 0; - } - return longopts[i].val; - } - if (argv[optind][1] == '-') { - optopt = 0; - if (!colon && opterr) - __getopt_msg(argv[0], cnt ? - ": option is ambiguous: " : - ": unrecognized option: ", - argv[optind]+2, - strlen(argv[optind]+2)); - optind++; - return '?'; - } - } - return getopt(argc, argv, optstring); -} -#endif -- cgit v1.2.3