summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Schlossnagle <gschlossnagle@php.net>2002-10-23 06:07:07 +0000
committerGeorge Schlossnagle <gschlossnagle@php.net>2002-10-23 06:07:07 +0000
commitc382dbbac61ecc1eb1c2f845c92ec765c717fa65 (patch)
tree803e401e8c1558175868702d887e212e6f9cf1af
parentd9647606fb701437fb307d265420f345498de9a4 (diff)
downloadphp-git-c382dbbac61ecc1eb1c2f845c92ec765c717fa65.tar.gz
fixed directory merging
-rw-r--r--sapi/apache/mod_php4.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sapi/apache/mod_php4.c b/sapi/apache/mod_php4.c
index a9c55f47ea..c90d088f91 100644
--- a/sapi/apache/mod_php4.c
+++ b/sapi/apache/mod_php4.c
@@ -873,7 +873,15 @@ static void *php_merge_dir(pool *p, void *basev, void *addv)
php_per_dir_config *b = (php_per_dir_config *) basev;
/* This function *must* return addv, and not modify basev */
zend_hash_merge_ex((HashTable *) a->ini_settings, (HashTable *) b->ini_settings, (copy_ctor_func_t) copy_per_dir_entry, sizeof(php_per_dir_entry), (zend_bool (*)(void *, void *)) should_overwrite_per_dir_entry);
- return addv;
+ a->headers_handlers = (a->headers_handlers.top)?a->headers_handlers:b->headers_handlers;
+ a->auth_handlers = (a->auth_handlers.top)?a->auth_handlers:b->auth_handlers;
+ a->access_handlers = (a->access_handlers.top)?a->access_handlers:b->access_handlers;
+ a->type_handlers = (a->type_handlers.top)?a->type_handlers:b->type_handlers;
+ a->fixup_handlers = (a->fixup_handlers.top)?a->fixup_handlers:b->fixup_handlers;
+ a->logger_handlers = (a->logger_handlers.top)?a->logger_handlers:b->logger_handlers;
+ a->post_read_handlers = (a->post_read_handlers.top)?a->post_read_handlers:b->post_read_handlers;
+ a->response_handlers = (a->response_handlers.top)?a->response_handlers:b->response_handlers;
+ return a;
}
/* }}} */
@@ -1400,6 +1408,8 @@ command_rec php_commands[] =
{"phpTypeHandler", php_set_type_handler, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
{"phpTypeHandlerMethod", php_set_type_handler_code, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
{"phpFixupHandler", php_set_fixup_handler, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
+ {"phpFixupHandlerMethod", php_set_fixup_handler_code, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
+ {"phpLoggerHandler", php_set_logger_handler, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
{"phpLoggerHandlerMethod", php_set_logger_handler_code, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},
#if MODULE_MAGIC_NUMBER >= 19970902
{"phpPostReadHandler", php_set_post_read_handler, NULL, OR_OPTIONS, TAKE1, "PHP Value Modifier"},