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;
* (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
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 */