Hi,
an optarg variable used here is conflicting with symbol name defined in
the latest LIBC headers:
../../server/mpm/netware/mpm_netware.c: In function `netware_rewrite_args':
../../server/mpm/netware/mpm_netware.c:907: conflicting types for
`___optarg'
u:/ndk/libc/include/unistd.h:105: previous declaration of `___optarg'
../../server/mpm/netware/mpm_netware.c:907: warning: extern declaration
of `___optarg' doesn't match global one
make[1]: *** [../../server/mpm/netware/mpm_netware.o] Error 1
.../libc/include/unistd.h:
...
/* globals for getopt() implementation... */
char **___optarg( void );
int *___optind( void );
int *___opterr( void );
int *___optopt( void );
#define optarg *___optarg()
#define optind *___optind()
#define opterr *___opterr()
#define optopt *___optopt()
...
Corresponding patch attached.
Thanks,
Pavel
--- mpm_netware.c.orig Fri Nov 16 00:12:14 2001
+++ mpm_netware.c Mon Nov 19 13:16:50 2001
@@ -904,7 +904,7 @@
{
char *def_server_root;
char optbuf[3];
- const char *optarg;
+ const char *opt_arg;
apr_getopt_t *opt;
apr_array_header_t *mpm_new_argv;
@@ -946,14 +946,14 @@
optbuf[0] = '-';
optbuf[2] = '\0';
apr_getopt_init(&opt, process->pool, process->argc, (char**)
process->argv);
- while (apr_getopt(opt, AP_SERVER_BASEARGS, optbuf + 1, &optarg) ==
APR_SUCCESS) {
+ while (apr_getopt(opt, AP_SERVER_BASEARGS, optbuf + 1, &opt_arg) ==
+APR_SUCCESS) {
switch (optbuf[1]) {
default:
*(const char **)apr_array_push(mpm_new_argv) =
apr_pstrdup(process->pool, optbuf);
- if (optarg) {
- *(const char **)apr_array_push(mpm_new_argv) = optarg;
+ if (opt_arg) {
+ *(const char **)apr_array_push(mpm_new_argv) = opt_arg;
}
break;
}