1
0
Fork 0
mirror of https://git.freebsd.org/ports.git synced 2025-07-09 05:19:16 -04:00
ports/devel/pecl-test_helpers/files/patch-test_helpers.c
Pawel Pekala c9e60eb625 test_helpers is an extension for the PHP Interpreter to ease
testing of PHP code.

WWW: https://github.com/sebastianbergmann/php-test-helpers

PR:		ports/172491
Submitted by:	Gasol Wu <gasol.wu@gmail.com>
2012-12-29 12:18:56 +00:00

57 lines
1.7 KiB
C

--- ./test_helpers.c.orig 2010-10-25 15:05:08.000000000 +0800
+++ ./test_helpers.c 2012-10-08 17:41:40.355030000 +0800
@@ -102,14 +102,30 @@
case IS_CONST:
return &(node->u.constant);
case IS_VAR:
+#if ZEND_EXTENSION_API_NO >= 220100525
+ return EX_T(node->u.op.var).var.ptr;
+#else
return EX_T(node->u.var).var.ptr;
+#endif
case IS_TMP_VAR:
+#if ZEND_EXTENSION_API_NO >= 220100525
+ return (*freeval = &EX_T(node->u.op.var).tmp_var);
+#else
return (*freeval = &EX_T(node->u.var).tmp_var);
+#endif
case IS_CV:
{
+#if ZEND_EXTENSION_API_NO >= 220100525
+ zval ***ret = &execute_data->CVs[node->u.op.var];
+#else
zval ***ret = &execute_data->CVs[node->u.var];
+#endif
if (!*ret) {
+#if ZEND_EXTENSION_API_NO >= 220100525
+ zend_compiled_variable *cv = &EG(active_op_array)->vars[node->u.op.var];
+#else
zend_compiled_variable *cv = &EG(active_op_array)->vars[node->u.var];
+#endif
if (zend_hash_quick_find(EG(active_symbol_table), cv->name, cv->name_len+1, cv->hash_value, (void**)ret)==FAILURE) {
zend_error(E_NOTICE, "Undefined variable: %s", cv->name);
return &EG(uninitialized_zval);
@@ -165,7 +181,11 @@
}
}
+#if ZEND_EXTENSION_API_NO >= 220100525
+ old_ce = EX_T(opline->op1.var).class_entry;
+#else
old_ce = EX_T(opline->op1.u.var).class_entry;
+#endif
MAKE_STD_ZVAL(arg);
ZVAL_STRINGL(arg, old_ce->name, old_ce->name_length, 1);
@@ -189,7 +209,11 @@
zval_ptr_dtor(&retval);
+#if ZEND_EXTENSION_API_NO >= 220100525
+ EX_T(opline->op1.var).class_entry = *new_ce;
+#else
EX_T(opline->op1.u.var).class_entry = *new_ce;
+#endif
if (old_new_handler) {
return old_new_handler(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);