apr_table_t is now an incomplete type. Taka a look at this patch and it
should give you an idea how to fix mod_perl.
Bill
stoddard 2002/07/05 19:49:59
Modified: modules/arch/win32 mod_win32.c
modules/experimental mod_mem_cache.c
Log:
Fix some Win32 compile breaks caused by Brian Pane's making apr_table_t
a full incomplete type.
Revision Changes Path
1.21 +3 -2 httpd-2.0/modules/arch/win32/mod_win32.c
Index: mod_win32.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/arch/win32/mod_win32.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- mod_win32.c 24 Jun 2002 04:55:24 -0000 1.20
+++ mod_win32.c 6 Jul 2002 02:49:59 -0000 1.21
@@ -419,7 +419,8 @@
request_rec *r, apr_pool_t *p,
cgi_exec_info_t *e_info)
{
- const apr_table_entry_t *elts = (apr_table_entry_t
*)r->subprocess_env->a.elts;
+ const apr_array_header_t *elts_arr =
apr_table_elts(r->subprocess_env);
+ const apr_table_entry_t *elts = (apr_table_entry_t *) elts_arr->elts;
const char *ext = NULL;
const char *interpreter = NULL;
win32_dir_conf *d;
@@ -547,7 +548,7 @@
* (using 0x0080-0x00ff) or is linked as a command or windows
* application (following the OEM or Ansi code page in effect.)
*/
- for (i = 0; i < r->subprocess_env->a.nelts; ++i) {
+ for (i = 0; i < elts_arr->nelts; ++i) {
if (win_nt && elts[i].key && *elts[i].key
&& (strncmp(elts[i].key, "HTTP_", 5) == 0
|| strncmp(elts[i].key, "SERVER_", 7) == 0
1.74 +5 -4 httpd-2.0/modules/experimental/mod_mem_cache.c
> Hi,
> another compiler error (the last one):
>
> since 05.07.2002 compiling mod_perl gives the following errors:
>
> F:/Projects/MSVC/modperl-2.0/xs\APR/Table/APR__Table.h(73) : error
> C2037: left of 'a' specifies undefined struct/union 'apr_table_t'
> F:/Projects/MSVC/modperl-2.0/xs\APR/Table/APR__Table.h(73) : error
> C2198: 'apr_hash_make' :
> too few actual parameters
>
> After a long search through many files I replaced (because I don't
> understand C++) the apache2\include\apr_tables.h with an older version
> and now mod_perl compiles without an error.
>
>
> Juergen
>