mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
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:
2
include/extern/getopt.h
vendored
2
include/extern/getopt.h
vendored
@@ -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
10
src/extern/getopt.c
vendored
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user