Fix develop error in getopt_long_only

The error was due to casting `const` away for permuting argv
elements, which is necessary for a libc for compatibility with older
systems, but not for us.

Checkpatch will complain about the style not being followed, but this is not
our code, so it can be ignored.
This commit is contained in:
ISSOtm
2019-11-09 00:47:45 +01:00
parent 648df0dc7d
commit faa7893761
2 changed files with 6 additions and 6 deletions

View File

@@ -36,7 +36,7 @@ struct option {
int val;
};
int getopt_long_only(int, char *const *, const char *, const struct option *, int *);
int getopt_long_only(int, char **, const char *, const struct option *, int *);
#define no_argument 0
#define required_argument 1

10
src/extern/getopt.c vendored
View File

@@ -42,7 +42,7 @@ void __getopt_msg(const char *a, const char *b, const char *c, size_t l)
&& putc('\n', f));
}
static void permute(char *const *argv, int dest, int src)
static void permute(char **argv, int dest, int src)
{
char **av = (char **)argv;
char *tmp = av[src];
@@ -52,9 +52,9 @@ static void permute(char *const *argv, int dest, int src)
av[dest] = tmp;
}
static int __getopt_long_core(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx, int longonly);
static int __getopt_long_core(int argc, char **argv, const char *optstring, const struct option *longopts, int *idx, int longonly);
static int __getopt_long(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx, int longonly)
static int __getopt_long(int argc, char **argv, const char *optstring, const struct option *longopts, int *idx, int longonly)
{
int ret, skipped, resumed;
if (!optind || __optreset) {
@@ -83,7 +83,7 @@ static int __getopt_long(int argc, char *const *argv, const char *optstring, con
return ret;
}
static int __getopt_long_core(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx, int longonly)
static int __getopt_long_core(int argc, char **argv, const char *optstring, const struct option *longopts, int *idx, int longonly)
{
optarg = 0;
if (longopts && argv[optind][0] == '-' &&
@@ -170,7 +170,7 @@ static int __getopt_long_core(int argc, char *const *argv, const char *optstring
return getopt(argc, argv, optstring);
}
int getopt_long_only(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx)
int getopt_long_only(int argc, char **argv, const char *optstring, const struct option *longopts, int *idx)
{
return __getopt_long(argc, argv, optstring, longopts, idx, 1);
}