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;
                 }

Reply via email to