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(&param, 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(&param, stmt, 1 TSRMLS_CC)) {
 				zval_ptr_dtor(&param.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

Reply via email to