]> granicus.if.org Git - php/commitdiff
Updates reflecting infrastructure changes
authorZeev Suraski <zeev@php.net>
Tue, 4 Feb 2003 13:12:48 +0000 (13:12 +0000)
committerZeev Suraski <zeev@php.net>
Tue, 4 Feb 2003 13:12:48 +0000 (13:12 +0000)
ext/standard/aggregation.c
sapi/apache/mod_php4.c
sapi/apache_hooks/mod_php4.c

index 5f47b96a32db8afcecaf1b2a5d643263d4ae2b3d..7c8d6f1c05119f9d56ed2c9c20151b57663c82de 100644 (file)
@@ -391,13 +391,16 @@ static void aggregate(INTERNAL_FUNCTION_PARAMETERS, int aggr_what, int aggr_type
                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 0a14fd680418d62b832973cbff270d865076f110..1514db72d6c6fcbcbc6ad9264946627b5bf17ceb 100644 (file)
@@ -672,8 +672,15 @@ static void copy_per_dir_entry(php_per_dir_entry *per_dir_entry)
 
 /* {{{ 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_create_dir(pool *p, char *dummy)
 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 4b7a62068041dae9c205c852ffdc58005452bb7a..f5d71ca7ce1593bbd540412573a48ecf55123ba4 100644 (file)
@@ -786,8 +786,15 @@ static void copy_per_dir_entry(php_per_dir_entry *per_dir_entry)
 /* {{{ 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 @@ static void *php_merge_dir(pool *p, void *basev, void *addv)
        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;