felipe Tue, 08 Dec 2009 01:57:37 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=291851
Log: - Added MAKE_COPY_ZVAL(ppzv, pzv) macro Changed paths: U php/php-src/branches/PHP_5_3/Zend/zend.h U php/php-src/branches/PHP_5_3/ext/filter/filter.c U php/php-src/branches/PHP_5_3/ext/pcre/php_pcre.c U php/php-src/branches/PHP_5_3/ext/pdo/pdo_stmt.c U php/php-src/branches/PHP_5_3/ext/pdo_sqlite/sqlite_driver.c U php/php-src/branches/PHP_5_3/ext/reflection/php_reflection.c U php/php-src/branches/PHP_5_3/ext/soap/soap.c U php/php-src/branches/PHP_5_3/ext/spl/spl_iterators.c U php/php-src/branches/PHP_5_3/ext/sqlite3/sqlite3.c U php/php-src/branches/PHP_5_3/ext/standard/array.c U php/php-src/branches/PHP_5_3/ext/standard/basic_functions.c U php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c U php/php-src/branches/PHP_5_3/ext/standard/string.c U php/php-src/branches/PHP_5_3/ext/xml/xml.c U php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c U php/php-src/trunk/Zend/zend.h U php/php-src/trunk/ext/filter/filter.c U php/php-src/trunk/ext/pcre/php_pcre.c U php/php-src/trunk/ext/pdo/pdo_stmt.c U php/php-src/trunk/ext/pdo_sqlite/sqlite_driver.c U php/php-src/trunk/ext/reflection/php_reflection.c U php/php-src/trunk/ext/soap/soap.c U php/php-src/trunk/ext/spl/spl_iterators.c U php/php-src/trunk/ext/sqlite3/sqlite3.c U php/php-src/trunk/ext/standard/array.c U php/php-src/trunk/ext/standard/basic_functions.c U php/php-src/trunk/ext/standard/streamsfuncs.c U php/php-src/trunk/ext/standard/string.c U php/php-src/trunk/ext/xml/xml.c U php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c
Modified: php/php-src/branches/PHP_5_3/Zend/zend.h =================================================================== --- php/php-src/branches/PHP_5_3/Zend/zend.h 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/Zend/zend.h 2009-12-08 01:57:37 UTC (rev 291851) @@ -710,6 +710,11 @@ FREE_ZVAL(pzv); \ } \ INIT_PZVAL(&(zv)); + +#define MAKE_COPY_ZVAL(ppzv, pzv) \ + *(pzv) = **(ppzv); \ + zval_copy_ctor((pzv)); \ + INIT_PZVAL((pzv)); #define REPLACE_ZVAL_VALUE(ppzv_dest, pzv_src, copy) { \ int is_ref, refcount; \ Modified: php/php-src/branches/PHP_5_3/ext/filter/filter.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/filter/filter.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/filter/filter.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -392,9 +392,7 @@ ) { zval **tmp; if (zend_hash_find(HASH_OF(options), "default", sizeof("default"), (void **)&tmp) == SUCCESS) { - **value = **tmp; - zval_copy_ctor(*value); - INIT_PZVAL(*value); + MAKE_COPY_ZVAL(tmp, *value); } } } @@ -679,9 +677,7 @@ zval *tmp; ALLOC_ZVAL(tmp); - *tmp = **filtered; - zval_copy_ctor(tmp); - INIT_PZVAL(tmp); + MAKE_COPY_ZVAL(filtered, tmp); zval_dtor(*filtered); @@ -701,15 +697,11 @@ if (!op) { zval_dtor(return_value); - *return_value = *input; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&input, return_value); php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC); } else if (Z_TYPE_PP(op) == IS_LONG) { zval_dtor(return_value); - *return_value = *input; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&input, return_value); php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC); } else if (Z_TYPE_PP(op) == IS_ARRAY) { array_init(return_value); @@ -735,9 +727,7 @@ zval *nval; ALLOC_ZVAL(nval); - *nval = **tmp; - zval_copy_ctor(nval); - INIT_PZVAL(nval); + MAKE_COPY_ZVAL(tmp, nval); php_filter_call(&nval, -1, arg_elm, 0, FILTER_REQUIRE_SCALAR TSRMLS_CC); add_assoc_zval_ex(return_value, arg_key, arg_key_len, nval); @@ -783,9 +773,7 @@ Z_TYPE_PP(opt) == IS_ARRAY && zend_hash_find(HASH_OF(*opt), "default", sizeof("default"), (void **)&def) == SUCCESS ) { - *return_value = **def; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(def, return_value); return; } } @@ -796,9 +784,7 @@ } } - *return_value = **tmp; - zval_copy_ctor(return_value); /* Watch out for empty strings */ - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(tmp, return_value); php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC); } @@ -820,9 +806,7 @@ RETURN_FALSE; } - *return_value = *data; - zval_copy_ctor(data); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&data, return_value); php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC); } Modified: php/php-src/branches/PHP_5_3/ext/pcre/php_pcre.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/pcre/php_pcre.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/pcre/php_pcre.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1314,9 +1314,7 @@ if (!zend_is_callable(*replace, 0, &callback_name TSRMLS_CC)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Requires argument 2, '%s', to be a valid callback", callback_name); efree(callback_name); - *return_value = **subject; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(subject, return_value); return; } efree(callback_name); Modified: php/php-src/branches/PHP_5_3/ext/pdo/pdo_stmt.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/pdo/pdo_stmt.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/pdo/pdo_stmt.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -469,9 +469,7 @@ param.param_type = PDO_PARAM_STR; MAKE_STD_ZVAL(param.parameter); - *param.parameter = **tmp; - zval_copy_ctor(param.parameter); - INIT_PZVAL(param.parameter); + MAKE_COPY_ZVAL(tmp, param.parameter); if (!really_register_bound_param(¶m, stmt, 1 TSRMLS_CC)) { if (param.parameter) { @@ -1277,9 +1275,7 @@ zval_ptr_dtor(&return_value); /* we don't need that */ return_value = retval; } else if (retval) { - *return_value = *retval; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&retval, return_value); zval_ptr_dtor(&retval); } } Modified: php/php-src/branches/PHP_5_3/ext/pdo_sqlite/sqlite_driver.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/pdo_sqlite/sqlite_driver.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/pdo_sqlite/sqlite_driver.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -496,9 +496,7 @@ func->funcname = estrdup(func_name); MAKE_STD_ZVAL(func->func); - *(func->func) = *callback; - zval_copy_ctor(func->func); - INIT_PZVAL(func->func); + MAKE_COPY_ZVAL(&callback, func->func); func->argc = argc; @@ -575,14 +573,10 @@ func->funcname = estrdup(func_name); MAKE_STD_ZVAL(func->step); - *(func->step) = *step_callback; - zval_copy_ctor(func->step); - INIT_PZVAL(func->step); + MAKE_COPY_ZVAL(&step_callback, func->step); MAKE_STD_ZVAL(func->fini); - *(func->fini) = *fini_callback; - zval_copy_ctor(func->fini); - INIT_PZVAL(func->fini); + MAKE_COPY_ZVAL(&fini_callback, func->fini); func->argc = argc; Modified: php/php-src/branches/PHP_5_3/ext/reflection/php_reflection.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/reflection/php_reflection.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/reflection/php_reflection.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -213,9 +213,7 @@ RETURN_FALSE; } - *return_value = **value; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(value, return_value); } #ifdef ilia_0 @@ -3087,9 +3085,7 @@ if (!(class_name && class_name[0] != '*' && strcmp(class_name, ce->name))) { /* copy: enforce read only access */ ALLOC_ZVAL(prop_copy); - *prop_copy = **value; - zval_copy_ctor(prop_copy); - INIT_PZVAL(prop_copy); + MAKE_COPY_ZVAL(value, prop_copy); add_assoc_zval(return_value, prop_name, prop_copy); } @@ -3212,9 +3208,7 @@ /* copy: enforce read only access */ ALLOC_ZVAL(prop_copy); - *prop_copy = **prop; - zval_copy_ctor(prop_copy); - INIT_PZVAL(prop_copy); + MAKE_COPY_ZVAL(prop, prop_copy); add_assoc_zval(return_value, prop_name, prop_copy); } @@ -3746,9 +3740,7 @@ if (zend_hash_find(&ce->constants_table, name, name_len + 1, (void **) &value) == FAILURE) { RETURN_FALSE; } - *return_value = **value; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(value, return_value); } /* }}} */ @@ -4531,9 +4523,7 @@ zend_error(E_ERROR, "Internal error: Could not find the property %s::%s", intern->ce->name, ref->prop.name); /* Bails out */ } - *return_value= **member; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(member, return_value); } else { char *class_name, *prop_name; @@ -4542,9 +4532,7 @@ } zend_unmangle_property_name(ref->prop.name, ref->prop.name_length, &class_name, &prop_name); member_p = zend_read_property(ref->ce, object, prop_name, strlen(prop_name), 1 TSRMLS_CC); - *return_value= *member_p; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&member_p, return_value); if (member_p != EG(uninitialized_zval_ptr)) { zval_add_ref(&member_p); zval_ptr_dtor(&member_p); Modified: php/php-src/branches/PHP_5_3/ext/soap/soap.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/soap/soap.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/soap/soap.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1416,9 +1416,7 @@ service->type = SOAP_OBJECT; MAKE_STD_ZVAL(service->soap_object); - *service->soap_object = *obj; - zval_copy_ctor(service->soap_object); - INIT_PZVAL(service->soap_object); + MAKE_COPY_ZVAL(&obj, service->soap_object); SOAP_SERVER_END_CODE(); } @@ -2335,9 +2333,7 @@ } fault = add_soap_fault(SOAP_GLOBAL(error_object), code, buffer, NULL, NULL TSRMLS_CC); MAKE_STD_ZVAL(exception); - *exception = *fault; - zval_copy_ctor(exception); - INIT_PZVAL(exception); + MAKE_COPY_ZVAL(&fault, exception); zend_throw_exception_object(exception TSRMLS_CC); old_objects = EG(objects_store).object_buckets; @@ -2623,9 +2619,7 @@ zval *class_map; MAKE_STD_ZVAL(class_map); - *class_map = **tmp; - INIT_PZVAL(class_map); - zval_copy_ctor(class_map); + MAKE_COPY_ZVAL(tmp, class_map); #ifdef ZEND_ENGINE_2 Z_DELREF_P(class_map); #endif @@ -2955,9 +2949,7 @@ zval *exception; MAKE_STD_ZVAL(exception); - *exception = *return_value; - zval_copy_ctor(exception); - INIT_PZVAL(exception); + MAKE_COPY_ZVAL(&return_value, exception); zend_throw_exception_object(exception TSRMLS_CC); } #endif Modified: php/php-src/branches/PHP_5_3/ext/spl/spl_iterators.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/spl/spl_iterators.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/spl/spl_iterators.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -2382,10 +2382,8 @@ return; } } else if (intern->u.caching.flags & CIT_TOSTRING_USE_CURRENT) { - *return_value = *intern->current.data; - zval_copy_ctor(return_value); + MAKE_COPY_ZVAL(&intern->current.data, return_value); convert_to_string(return_value); - INIT_PZVAL(return_value); return; } if (intern->u.caching.zstr) { Modified: php/php-src/branches/PHP_5_3/ext/sqlite3/sqlite3.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/sqlite3/sqlite3.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/sqlite3/sqlite3.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -851,9 +851,7 @@ func->func_name = estrdup(sql_func); MAKE_STD_ZVAL(func->func); - *(func->func) = *callback_func; - zval_copy_ctor(func->func); - INIT_PZVAL(func->func); + MAKE_COPY_ZVAL(&callback_func, func->func); func->argc = sql_func_num_args; func->next = db_obj->funcs; @@ -910,14 +908,10 @@ func->func_name = estrdup(sql_func); MAKE_STD_ZVAL(func->step); - *(func->step) = *step_callback; - zval_copy_ctor(func->step); - INIT_PZVAL(func->step); + MAKE_COPY_ZVAL(&step_callback, func->step); MAKE_STD_ZVAL(func->fini); - *(func->fini) = *fini_callback; - zval_copy_ctor(func->fini); - INIT_PZVAL(func->fini); + MAKE_COPY_ZVAL(&fini_callback, func->fini); func->argc = sql_func_num_args; func->next = db_obj->funcs; Modified: php/php-src/branches/PHP_5_3/ext/standard/array.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/array.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/standard/array.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1464,9 +1464,7 @@ if (zend_hash_find(eg_active_symbol_table, Z_STRVAL_P(entry), Z_STRLEN_P(entry) + 1, (void **)&value_ptr) != FAILURE) { value = *value_ptr; ALLOC_ZVAL(data); - *data = *value; - zval_copy_ctor(data); - INIT_PZVAL(data); + MAKE_COPY_ZVAL(&value, data); zend_hash_update(Z_ARRVAL_P(return_value), Z_STRVAL_P(entry), Z_STRLEN_P(entry) + 1, &data, sizeof(zval *), NULL); } @@ -4089,9 +4087,7 @@ if (ZEND_NUM_ARGS() > 2) { ALLOC_ZVAL(result); - *result = *initial; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(&initial, result); } else { MAKE_STD_ZVAL(result); ZVAL_NULL(result); Modified: php/php-src/branches/PHP_5_3/ext/standard/basic_functions.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/basic_functions.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/standard/basic_functions.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -5837,9 +5837,7 @@ break; } ALLOC_ZVAL(element); - *element = *arg2; - zval_copy_ctor(element); - INIT_PZVAL(element); + MAKE_COPY_ZVAL(&arg2, element); zend_symtable_update(Z_ARRVAL_P(arr), Z_STRVAL_P(arg1), Z_STRLEN_P(arg1) + 1, &element, sizeof(zval *), NULL); break; @@ -5882,9 +5880,7 @@ } ALLOC_ZVAL(element); - *element = *arg2; - zval_copy_ctor(element); - INIT_PZVAL(element); + MAKE_COPY_ZVAL(&arg2, element); if (arg3 && Z_STRLEN_P(arg3) > 0) { add_assoc_zval_ex(hash, Z_STRVAL_P(arg3), Z_STRLEN_P(arg3) + 1, element); Modified: php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -484,9 +484,7 @@ if (stream->wrapperdata) { MAKE_STD_ZVAL(newval); - *newval = *(stream->wrapperdata); - zval_copy_ctor(newval); - INIT_PZVAL(newval); + MAKE_COPY_ZVAL(&stream->wrapperdata, newval); add_assoc_zval(return_value, "wrapper_data", newval); } Modified: php/php-src/branches/PHP_5_3/ext/standard/string.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/string.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/standard/string.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -3530,9 +3530,7 @@ /* If search is an array */ if (Z_TYPE_P(search) == IS_ARRAY) { /* Duplicate subject string for repeated replacement */ - *result = **subject; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(subject, result); zend_hash_internal_pointer_reset(Z_ARRVAL_P(search)); @@ -3616,9 +3614,7 @@ Z_STRVAL_P(search), Z_STRLEN_P(search), Z_STRVAL_P(replace), Z_STRLEN_P(replace), &Z_STRLEN_P(result), case_sensitivity, replace_count); } else { - *result = **subject; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(subject, result); } } } Modified: php/php-src/branches/PHP_5_3/ext/xml/xml.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/xml/xml.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/xml/xml.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1270,9 +1270,7 @@ #endif */ ALLOC_ZVAL(parser->object); - *parser->object = *mythis; - zval_copy_ctor(parser->object); - INIT_PZVAL(parser->object); + MAKE_COPY_ZVAL(&mythis, parser->object); RETVAL_TRUE; } Modified: php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -570,9 +570,7 @@ } MAKE_STD_ZVAL(val_arr); - *val_arr = *val; - zval_copy_ctor(val_arr); - INIT_PZVAL(val_arr); + MAKE_COPY_ZVAL(&val, val_arr); convert_to_array(val_arr); vtype = determine_vector_type(Z_ARRVAL_P(val_arr)); Modified: php/php-src/trunk/Zend/zend.h =================================================================== --- php/php-src/trunk/Zend/zend.h 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/Zend/zend.h 2009-12-08 01:57:37 UTC (rev 291851) @@ -765,6 +765,11 @@ FREE_ZVAL(pzv); \ } \ INIT_PZVAL(&(zv)); + +#define MAKE_COPY_ZVAL(ppzv, pzv) \ + *(pzv) = **(ppzv); \ + zval_copy_ctor((pzv)); \ + INIT_PZVAL((pzv)); #define REPLACE_ZVAL_VALUE(ppzv_dest, pzv_src, copy) { \ int is_ref, refcount; \ Modified: php/php-src/trunk/ext/filter/filter.c =================================================================== --- php/php-src/trunk/ext/filter/filter.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/filter/filter.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -406,9 +406,7 @@ ) { zval **tmp; if (zend_hash_find(HASH_OF(options), "default", sizeof("default"), (void **)&tmp) == SUCCESS) { - **value = **tmp; - zval_copy_ctor(*value); - INIT_PZVAL(*value); + MAKE_COPY_ZVAL(tmp, *value); } } } @@ -692,9 +690,7 @@ zval *tmp; ALLOC_ZVAL(tmp); - *tmp = **filtered; - zval_copy_ctor(tmp); - INIT_PZVAL(tmp); + MAKE_COPY_ZVAL(filtered, tmp); zval_dtor(*filtered); @@ -714,15 +710,11 @@ if (!op) { zval_dtor(return_value); - *return_value = *input; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&input, return_value); php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC); } else if (Z_TYPE_PP(op) == IS_LONG) { zval_dtor(return_value); - *return_value = *input; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&input, return_value); php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC); } else if (Z_TYPE_PP(op) == IS_ARRAY) { array_init(return_value); @@ -748,9 +740,7 @@ zval *nval; ALLOC_ZVAL(nval); - *nval = **tmp; - zval_copy_ctor(nval); - INIT_PZVAL(nval); + MAKE_COPY_ZVAL(tmp, nval); php_filter_call(&nval, -1, arg_elm, 0, FILTER_REQUIRE_SCALAR TSRMLS_CC); add_assoc_zval_ex(return_value, arg_key.s, arg_key_len, nval); @@ -796,9 +786,7 @@ Z_TYPE_PP(opt) == IS_ARRAY && zend_hash_find(HASH_OF(*opt), "default", sizeof("default"), (void **)&def) == SUCCESS ) { - *return_value = **def; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(def, return_value); return; } } @@ -809,9 +797,7 @@ } } - *return_value = **tmp; - zval_copy_ctor(return_value); /* Watch out for empty strings */ - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(tmp, return_value); php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC); } @@ -833,9 +819,7 @@ RETURN_FALSE; } - *return_value = *data; - zval_copy_ctor(data); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&data, return_value); php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC); } Modified: php/php-src/trunk/ext/pcre/php_pcre.c =================================================================== --- php/php-src/trunk/ext/pcre/php_pcre.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/pcre/php_pcre.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1442,9 +1442,7 @@ if (!zend_is_callable(replace, 0, &callback_name TSRMLS_CC)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Requires argument 2, '%R', to be a valid callback", Z_TYPE(callback_name), Z_UNIVAL(callback_name)); zval_dtor(&callback_name); - *return_value = *subject; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&subject, return_value); return; } zval_dtor(&callback_name); Modified: php/php-src/trunk/ext/pdo/pdo_stmt.c =================================================================== --- php/php-src/trunk/ext/pdo/pdo_stmt.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/pdo/pdo_stmt.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -470,9 +470,7 @@ param.param_type = PDO_PARAM_STR; MAKE_STD_ZVAL(param.parameter); - *param.parameter = **tmp; - zval_copy_ctor(param.parameter); - INIT_PZVAL(param.parameter); + MAKE_COPY_ZVAL(tmp, param.parameter); if (!really_register_bound_param(¶m, stmt, 1 TSRMLS_CC)) { zval_ptr_dtor(¶m.parameter); @@ -1283,9 +1281,7 @@ zval_ptr_dtor(&return_value); /* we don't need that */ return_value = retval; } else if (retval) { - *return_value = *retval; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&retval, return_value); zval_ptr_dtor(&retval); } } Modified: php/php-src/trunk/ext/pdo_sqlite/sqlite_driver.c =================================================================== --- php/php-src/trunk/ext/pdo_sqlite/sqlite_driver.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/pdo_sqlite/sqlite_driver.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -517,9 +517,7 @@ func->funcname = estrdup(func_name); MAKE_STD_ZVAL(func->func); - *(func->func) = *callback; - zval_copy_ctor(func->func); - INIT_PZVAL(func->func); + MAKE_COPY_ZVAL(&callback, func->func); func->argc = argc; @@ -591,14 +589,10 @@ func->funcname = estrdup(func_name); MAKE_STD_ZVAL(func->step); - *(func->step) = *step_callback; - zval_copy_ctor(func->step); - INIT_PZVAL(func->step); + MAKE_COPY_ZVAL(&step_callback, func->step); MAKE_STD_ZVAL(func->fini); - *(func->fini) = *fini_callback; - zval_copy_ctor(func->fini); - INIT_PZVAL(func->fini); + MAKE_COPY_ZVAL(&fini_callback, func->fini); func->argc = argc; Modified: php/php-src/trunk/ext/reflection/php_reflection.c =================================================================== --- php/php-src/trunk/ext/reflection/php_reflection.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/reflection/php_reflection.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -208,9 +208,7 @@ RETURN_FALSE; } - *return_value = **value; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(value, return_value); } /* }}} */ @@ -3243,9 +3241,7 @@ if (!(class_name.s && class_name.s[0] != '*' && u_strcmp(class_name.u, ce->name.u))) { /* copy: enforce read only access */ ALLOC_ZVAL(prop_copy); - *prop_copy = **value; - zval_copy_ctor(prop_copy); - INIT_PZVAL(prop_copy); + MAKE_COPY_ZVAL(value, prop_copy); add_u_assoc_zval(return_value, IS_UNICODE, prop_name, prop_copy); } @@ -3371,9 +3367,7 @@ /* copy: enforce read only access */ ALLOC_ZVAL(prop_copy); - *prop_copy = **prop; - zval_copy_ctor(prop_copy); - INIT_PZVAL(prop_copy); + MAKE_COPY_ZVAL(prop, prop_copy); add_u_assoc_zval(return_value, IS_UNICODE, prop_name, prop_copy); } @@ -3934,9 +3928,7 @@ if (zend_u_hash_find(&ce->constants_table, name_type, name, name_len + 1, (void **) &value) == FAILURE) { RETURN_FALSE; } - *return_value = **value; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(value, return_value); } /* }}} */ @@ -4719,9 +4711,7 @@ if (zend_u_hash_quick_find(prop_defaults, utype, ref->prop.name, ref->prop.name_length+1, ref->prop.h, (void**)&zdef) == SUCCESS) { ALLOC_ZVAL(zv); - *zv = **zdef; - zval_copy_ctor(zv); - INIT_PZVAL(zv); + MAKE_COPY_ZVAL(zdef, zv); zval_update_constant_ex(&zv, (void*)1, ref->ce TSRMLS_CC); RETURN_ZVAL(zv, 1, 1); } @@ -4771,9 +4761,7 @@ zend_error(E_ERROR, "Internal error: Could not find the property %v::%v", intern->ce->name, ref->prop.name); /* Bails out */ } - *return_value= **member; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(member, return_value); } else { zstr class_name, prop_name; int prop_name_len; @@ -4784,9 +4772,7 @@ zend_u_unmangle_property_name(IS_UNICODE, ref->prop.name, ref->prop.name_length, &class_name, &prop_name); prop_name_len = u_strlen(prop_name.u); member_p = zend_u_read_property(ref->ce, object, IS_UNICODE, prop_name, prop_name_len, 1 TSRMLS_CC); - *return_value= *member_p; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&member_p, return_value); if (member_p != EG(uninitialized_zval_ptr)) { zval_add_ref(&member_p); zval_ptr_dtor(&member_p); Modified: php/php-src/trunk/ext/soap/soap.c =================================================================== --- php/php-src/trunk/ext/soap/soap.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/soap/soap.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1727,9 +1727,7 @@ service->type = SOAP_OBJECT; MAKE_STD_ZVAL(service->soap_object); - *service->soap_object = *obj; - zval_copy_ctor(service->soap_object); - INIT_PZVAL(service->soap_object); + MAKE_COPY_ZVAL(&obj, service->soap_object); SOAP_SERVER_END_CODE(); } @@ -2637,9 +2635,7 @@ fault = add_soap_fault(SOAP_GLOBAL(error_object), code, buffer, NULL, NULL TSRMLS_CC); efree(buffer); MAKE_STD_ZVAL(exception); - *exception = *fault; - zval_copy_ctor(exception); - INIT_PZVAL(exception); + MAKE_COPY_ZVAL(&fault, exception); zend_throw_exception_object(exception TSRMLS_CC); old_objects = EG(objects_store).object_buckets; @@ -3269,9 +3265,7 @@ if (!ret) { if (client->fault) { - *return_value = *client->fault; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&client->fault, return_value); } else { *return_value = *add_soap_fault(this_ptr, "Client", "Unknown Error", NULL, NULL TSRMLS_CC); zval_copy_ctor(return_value); @@ -3279,9 +3273,7 @@ } } else { if (client->fault) { - *return_value = *client->fault; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&client->fault, return_value); } } if (!EG(exception) && @@ -3291,9 +3283,7 @@ zval *exception; MAKE_STD_ZVAL(exception); - *exception = *return_value; - zval_copy_ctor(exception); - INIT_PZVAL(exception); + MAKE_COPY_ZVAL(&return_value, exception); zend_throw_exception_object(exception TSRMLS_CC); } SOAP_GLOBAL(features) = old_features; @@ -3687,9 +3677,7 @@ if (!client->cookies) { array_init(return_value); } else { - *return_value = *client->cookies; - zval_copy_ctor(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&client->cookies, return_value); } } /* }}} */ @@ -3716,9 +3704,7 @@ } else if (Z_TYPE_P(headers) == IS_ARRAY) { verify_soap_headers_array(Z_ARRVAL_P(headers) TSRMLS_CC); ALLOC_ZVAL(client->default_headers); - *client->default_headers = *headers; - INIT_PZVAL(client->default_headers); - zval_copy_ctor(client->default_headers); + MAKE_COPY_ZVAL(&headers, client->default_headers); } else if (Z_TYPE_P(headers) == IS_OBJECT && instanceof_function(Z_OBJCE_P(headers), soap_header_class_entry TSRMLS_CC)) { ALLOC_INIT_ZVAL(client->default_headers); Modified: php/php-src/trunk/ext/spl/spl_iterators.c =================================================================== --- php/php-src/trunk/ext/spl/spl_iterators.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/spl/spl_iterators.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -2451,10 +2451,7 @@ return; } } else if (intern->u.caching.flags & CIT_TOSTRING_USE_CURRENT) { - *return_value = *intern->current.data; - zval_copy_ctor(return_value); - convert_to_unicode(return_value); - INIT_PZVAL(return_value); + MAKE_COPY_ZVAL(&intern->current.data, return_value); return; } if (intern->u.caching.zstr) { Modified: php/php-src/trunk/ext/sqlite3/sqlite3.c =================================================================== --- php/php-src/trunk/ext/sqlite3/sqlite3.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/sqlite3/sqlite3.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -885,9 +885,7 @@ func->func_name = eustrdup(sql_func); MAKE_STD_ZVAL(func->func); - *(func->func) = *callback_func; - zval_copy_ctor(func->func); - INIT_PZVAL(func->func); + MAKE_COPY_ZVAL(&callback_func, func->func); func->argc = sql_func_num_args; func->next = db_obj->funcs; @@ -944,14 +942,10 @@ func->func_name = eustrdup(sql_func); MAKE_STD_ZVAL(func->step); - *(func->step) = *step_callback; - zval_copy_ctor(func->step); - INIT_PZVAL(func->step); + MAKE_COPY_ZVAL(&step_callback, func->step); MAKE_STD_ZVAL(func->fini); - *(func->fini) = *fini_callback; - zval_copy_ctor(func->fini); - INIT_PZVAL(func->fini); + MAKE_COPY_ZVAL(&fini_callback, func->fini); func->argc = sql_func_num_args; func->next = db_obj->funcs; Modified: php/php-src/trunk/ext/standard/array.c =================================================================== --- php/php-src/trunk/ext/standard/array.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/standard/array.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1549,9 +1549,7 @@ if (zend_u_hash_find(eg_active_symbol_table, Z_TYPE_P(entry), key, key_len + 1, (void **)&value_ptr) != FAILURE) { value = *value_ptr; ALLOC_ZVAL(data); - *data = *value; - zval_copy_ctor(data); - INIT_PZVAL(data); + MAKE_COPY_ZVAL(&value, data); zend_u_hash_update(Z_ARRVAL_P(return_value), Z_TYPE_P(entry), key, key_len + 1, &data, sizeof(zval *), NULL); } @@ -4282,9 +4280,7 @@ if (ZEND_NUM_ARGS() > 2) { ALLOC_ZVAL(result); - *result = *initial; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(&initial, result); } else { MAKE_STD_ZVAL(result); ZVAL_NULL(result); Modified: php/php-src/trunk/ext/standard/basic_functions.c =================================================================== --- php/php-src/trunk/ext/standard/basic_functions.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/standard/basic_functions.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -5926,14 +5926,9 @@ break; } ALLOC_ZVAL(element); - *element = *arg2; - zval_copy_ctor(element); - INIT_PZVAL(element); + MAKE_COPY_ZVAL(&arg2, element); + MAKE_COPY_ZVAL(&arg1, &name); - name = *arg1; - zval_copy_ctor(&name); - INIT_PZVAL(&name); - convert_to_unicode_with_converter(element, UG(utf8_conv)); convert_to_unicode_with_converter(&name, UG(utf8_conv)); @@ -5989,9 +5984,7 @@ } ALLOC_ZVAL(element); - *element = *arg2; - zval_copy_ctor(element); - INIT_PZVAL(element); + MAKE_COPY_ZVAL(&arg2, element); convert_to_unicode_with_converter(element, UG(utf8_conv)); @@ -6018,9 +6011,7 @@ if (callback_type == ZEND_INI_PARSER_SECTION) { MAKE_STD_ZVAL(BG(active_ini_file_section)); array_init(BG(active_ini_file_section)); - name = *arg1; - zval_copy_ctor(&name); - INIT_PZVAL(&name); + MAKE_COPY_ZVAL(&arg1, &name); convert_to_unicode_with_converter(&name, UG(utf8_conv)); Modified: php/php-src/trunk/ext/standard/streamsfuncs.c =================================================================== --- php/php-src/trunk/ext/standard/streamsfuncs.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/standard/streamsfuncs.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -499,9 +499,7 @@ if (stream->wrapperdata) { MAKE_STD_ZVAL(newval); - *newval = *(stream->wrapperdata); - zval_copy_ctor(newval); - INIT_PZVAL(newval); + MAKE_COPY_ZVAL(&stream->wrapperdata, newval); add_ascii_assoc_zval(return_value, "wrapper_data", newval); } Modified: php/php-src/trunk/ext/standard/string.c =================================================================== --- php/php-src/trunk/ext/standard/string.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/standard/string.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -5418,9 +5418,7 @@ /* If search is an array */ if (Z_TYPE_P(search) == IS_ARRAY) { /* Duplicate subject string for repeated replacement */ - *result = **subject; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(subject, result); zend_hash_internal_pointer_reset(Z_ARRVAL_P(search)); @@ -5527,9 +5525,7 @@ &Z_USTRLEN_P(result), replace_count TSRMLS_CC); } } else { - *result = **subject; - zval_copy_ctor(result); - INIT_PZVAL(result); + MAKE_COPY_ZVAL(subject, result); } } } Modified: php/php-src/trunk/ext/xml/xml.c =================================================================== --- php/php-src/trunk/ext/xml/xml.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/xml/xml.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -1314,9 +1314,7 @@ #endif */ ALLOC_ZVAL(parser->object); - *parser->object = *mythis; - zval_copy_ctor(parser->object); - INIT_PZVAL(parser->object); + MAKE_COPY_ZVAL(&mythis, parser->object); RETVAL_TRUE; } Modified: php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c =================================================================== --- php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c 2009-12-08 01:57:16 UTC (rev 291850) +++ php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c 2009-12-08 01:57:37 UTC (rev 291851) @@ -574,9 +574,7 @@ } MAKE_STD_ZVAL(val_arr); - *val_arr = *val; - zval_copy_ctor(val_arr); - INIT_PZVAL(val_arr); + MAKE_COPY_ZVAL(&val, val_arr); convert_to_array(val_arr); vtype = determine_vector_type(Z_ARRVAL_P(val_arr));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php