zeev Tue Feb 4 08:12:48 2003 EDT Modified files: /php4/ext/standard aggregation.c /php4/sapi/apache mod_php4.c /php4/sapi/apache_hooks mod_php4.c Log: Updates reflecting infrastructure changes Index: php4/ext/standard/aggregation.c diff -u php4/ext/standard/aggregation.c:1.15 php4/ext/standard/aggregation.c:1.16 --- php4/ext/standard/aggregation.c:1.15 Sun Jan 12 13:42:16 2003 +++ php4/ext/standard/aggregation.c Tue Feb 4 08:12:47 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: aggregation.c,v 1.15 2003/01/12 18:42:16 stas Exp $ */ +/* $Id: aggregation.c,v 1.16 2003/02/04 13:12:47 zeev Exp $ */ #include "php.h" #include "basic_functions.h" @@ -391,13 +391,16 @@ zend_hash_init(&new_ce->class_table, 10, NULL, ZVAL_PTR_DTOR, 0); zend_hash_copy(&new_ce->class_table, &Z_OBJCE_P(obj)->class_table, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); + /* zend_hash_init(&new_ce->private_properties, 10, NULL, ZVAL_PTR_DTOR, 0); zend_hash_copy(&new_ce->private_properties, &Z_OBJCE_P(obj)->private_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); + */ new_ce->constructor = Z_OBJCE_P(obj)->constructor; new_ce->destructor = Z_OBJCE_P(obj)->destructor; new_ce->clone = Z_OBJCE_P(obj)->clone; #endif + new_ce->builtin_functions = Z_OBJCE_P(obj)->builtin_functions; #ifndef ZEND_ENGINE_2 new_ce->handle_function_call = Z_OBJCE_P(obj)->handle_function_call; Index: php4/sapi/apache/mod_php4.c diff -u php4/sapi/apache/mod_php4.c:1.151 php4/sapi/apache/mod_php4.c:1.152 --- php4/sapi/apache/mod_php4.c:1.151 Tue Jan 21 06:03:58 2003 +++ php4/sapi/apache/mod_php4.c Tue Feb 4 08:12:48 2003 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php4.c,v 1.151 2003/01/21 11:03:58 sas Exp $ */ +/* $Id: mod_php4.c,v 1.152 2003/02/04 13:12:48 zeev Exp $ */ #include "php_apache_http.h" #include "http_conf_globals.h" @@ -672,8 +672,15 @@ /* {{{ should_overwrite_per_dir_entry */ -static zend_bool should_overwrite_per_dir_entry(php_per_dir_entry *orig_per_dir_entry, php_per_dir_entry *new_per_dir_entry) +static zend_bool should_overwrite_per_dir_entry(HashTable *target_ht, +php_per_dir_entry *orig_per_dir_entry, zend_hash_key *hash_key, void *pData) { + php_per_dir_entry *orig_per_dir_entry; + php_per_dir_entry *new_per_dir_entry; + + if (zend_hash_find(target_ht, hash_key->arKey, hash_key->nKeyLength, (void **) +&new_per_dir_entry)==FAILURE) { + return 1; /* does not exist in dest, copy from source */ + } + if (new_per_dir_entry->type==PHP_INI_SYSTEM && orig_per_dir_entry->type!=PHP_INI_SYSTEM) { return 1; @@ -711,7 +718,7 @@ static void *php_merge_dir(pool *p, void *basev, void *addv) { /* This function *must* return addv, and not modify basev */ - zend_hash_merge_ex((HashTable *) addv, (HashTable *) basev, (copy_ctor_func_t) copy_per_dir_entry, sizeof(php_per_dir_entry), (zend_bool (*)(void *, void *)) should_overwrite_per_dir_entry); + zend_hash_merge_ex((HashTable *) addv, (HashTable *) basev, (copy_ctor_func_t) +copy_per_dir_entry, sizeof(php_per_dir_entry), (merge_checker_func_t) +should_overwrite_per_dir_entry, NULL); return addv; } /* }}} */ Index: php4/sapi/apache_hooks/mod_php4.c diff -u php4/sapi/apache_hooks/mod_php4.c:1.6 php4/sapi/apache_hooks/mod_php4.c:1.7 --- php4/sapi/apache_hooks/mod_php4.c:1.6 Tue Dec 31 10:59:05 2002 +++ php4/sapi/apache_hooks/mod_php4.c Tue Feb 4 08:12:48 2003 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php4.c,v 1.6 2002/12/31 15:59:05 sebastian Exp $ */ +/* $Id: mod_php4.c,v 1.7 2003/02/04 13:12:48 zeev Exp $ */ #include "php_apache_http.h" @@ -786,8 +786,15 @@ /* {{{ should_overwrite_per_dir_entry */ -static zend_bool should_overwrite_per_dir_entry(php_per_dir_entry *orig_per_dir_entry, php_per_dir_entry *new_per_dir_entry) +static zend_bool should_overwrite_per_dir_entry(HashTable *target_ht, +php_per_dir_entry *orig_per_dir_entry, zend_hash_key *hash_key, void *pData) { + php_per_dir_entry *orig_per_dir_entry; + php_per_dir_entry *new_per_dir_entry; + + if (zend_hash_find(target_ht, hash_key->arKey, hash_key->nKeyLength, (void **) +&new_per_dir_entry)==FAILURE) { + return 1; /* does not exist in dest, copy from source */ + } + if (new_per_dir_entry->type==PHP_INI_SYSTEM && orig_per_dir_entry->type!=PHP_INI_SYSTEM) { return 1; @@ -868,7 +875,7 @@ php_per_dir_config *a = (php_per_dir_config *) 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); + 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), +(replace_checker_func_t) should_overwrite_per_dir_entry, NULL); 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;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php