--- ./src/getopt.c +++ ./src/getopt.c @@ -63,7 +63,7 @@ the executable file might be covered by the GNU General Public License. */ /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ -#if defined(__GNU_LIBRARY__) || defined(__OpenBSD__) +#if defined(__GNU_LIBRARY__) || defined(__OpenBSD__) || defined(__APPLE__) /* Don't include stdlib.h for non-GNU C libraries because some of them contain conflicting prototypes for getopt. */ #include @@ -162,7 +162,7 @@ static enum REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } ordering; -#if defined(__GNU_LIBRARY__) || defined(__OpenBSD__) +#if defined(__GNU_LIBRARY__) || defined(__OpenBSD__) || defined(__APPLE__) /* We want to avoid inclusion of string.h with non-GNU libraries because there are many ways it can cause trouble. On some systems, it contains special magic macros that don't work @@ -177,9 +177,7 @@ static enum char *getenv (); static char * -my_index (str, chr) - const char *str; - int chr; +my_index (const char *str, int chr) { while (*str) { @@ -223,8 +221,7 @@ static int last_nonopt; the new indices of the non-options in ARGV after they are moved. */ static void -exchange (argv) - char **argv; +exchange (char **argv) { int bottom = first_nonopt; int middle = last_nonopt; @@ -281,8 +278,7 @@ exchange (argv) /* Initialize the internal data when the first call is made. */ static const char * -_getopt_initialize (optstring) - const char *optstring; +_getopt_initialize (const char *optstring) { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped @@ -369,13 +365,13 @@ _getopt_initialize (optstring) long-named options. */ int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; +_getopt_internal ( + int argc, + char *const *argv, + const char *optstring, + const struct option *longopts, + int *longind, + int long_only) { optarg = NULL; @@ -672,10 +668,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) } int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; +getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); --- ./src/getopt.h +++ ./src/getopt.h @@ -94,7 +94,7 @@ extern "C" { #define optional_argument 2 #if __STDC__ -#if defined(__GNU_LIBRARY__) +#if defined(__GNU_LIBRARY__) || defined(__APPLE__) /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */