From 7a939b3e690474cf1cff4be605e30aef43f1c24f Mon Sep 17 00:00:00 2001 From: Bill Stoddard Date: Sat, 6 Jul 2002 02:49:59 +0000 Subject: [PATCH] Fix some Win32 compile breaks caused by Brian Pane's making apr_table_t a full incomplete type. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95965 13f79535-47bb-0310-9956-ffa450edef68 --- modules/arch/win32/mod_win32.c | 5 +++-- modules/experimental/mod_mem_cache.c | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/arch/win32/mod_win32.c b/modules/arch/win32/mod_win32.c index 17863ccac2..c1baa06304 100644 --- a/modules/arch/win32/mod_win32.c +++ b/modules/arch/win32/mod_win32.c @@ -419,7 +419,8 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv, 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 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv, * (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 diff --git a/modules/experimental/mod_mem_cache.c b/modules/experimental/mod_mem_cache.c index 14cc2baba9..8c9a203909 100644 --- a/modules/experimental/mod_mem_cache.c +++ b/modules/experimental/mod_mem_cache.c @@ -657,22 +657,23 @@ static apr_status_t serialize_table(cache_header_tbl_t **obj, apr_ssize_t *nelts, apr_table_t *table) { - apr_table_entry_t *elts = (apr_table_entry_t *) table->a.elts; + const apr_array_header_t *elts_arr = apr_table_elts(table); + apr_table_entry_t *elts = (apr_table_entry_t *) elts_arr->elts; apr_ssize_t i; apr_size_t len = 0; apr_size_t idx = 0; char *buf; - *nelts = table->a.nelts; + *nelts = elts_arr->nelts; if (*nelts == 0 ) { *obj=NULL; return APR_SUCCESS; } - *obj = calloc(1, sizeof(cache_header_tbl_t) * table->a.nelts); + *obj = calloc(1, sizeof(cache_header_tbl_t) * elts_arr->nelts); if (NULL == *obj) { return APR_ENOMEM; } - for (i = 0; i < table->a.nelts; ++i) { + for (i = 0; i < elts_arr->nelts; ++i) { len += strlen(elts[i].key); len += strlen(elts[i].val); len += 2; /* Extra space for NULL string terminator for key and val */ -- 2.40.0