--- ./utils.c.orig 2010-04-12 20:05:49.000000000 -0400 +++ ./utils.c 2010-04-12 20:07:15.000000000 -0400 @@ -65,37 +65,37 @@ /*============================================================================*/ /* Generic arginfo structures */ -static ZEND_BEGIN_ARG_INFO_EX(UT_noarg_arginfo, 0, 0, 0) +ZEND_BEGIN_ARG_INFO_EX(UT_noarg_arginfo, 0, 0, 0) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_noarg_ref_arginfo, 0, 1, 0) +ZEND_BEGIN_ARG_INFO_EX(UT_noarg_ref_arginfo, 0, 1, 0) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_1arg_arginfo, 0, 0, 1) +ZEND_BEGIN_ARG_INFO_EX(UT_1arg_arginfo, 0, 0, 1) ZEND_ARG_INFO(0, arg1) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_1arg_ref_arginfo, 0, 1, 1) +ZEND_BEGIN_ARG_INFO_EX(UT_1arg_ref_arginfo, 0, 1, 1) ZEND_ARG_INFO(0, arg1) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_2args_arginfo, 0, 0, 2) +ZEND_BEGIN_ARG_INFO_EX(UT_2args_arginfo, 0, 0, 2) ZEND_ARG_INFO(0, arg1) ZEND_ARG_INFO(0, arg2) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_2args_ref_arginfo, 0, 1, 2) +ZEND_BEGIN_ARG_INFO_EX(UT_2args_ref_arginfo, 0, 1, 2) ZEND_ARG_INFO(0, arg1) ZEND_ARG_INFO(0, arg2) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_3args_arginfo, 0, 0, 3) +ZEND_BEGIN_ARG_INFO_EX(UT_3args_arginfo, 0, 0, 3) ZEND_ARG_INFO(0, arg1) ZEND_ARG_INFO(0, arg2) ZEND_ARG_INFO(0, arg3) ZEND_END_ARG_INFO() -static ZEND_BEGIN_ARG_INFO_EX(UT_3args_ref_arginfo, 0, 1, 3) +ZEND_BEGIN_ARG_INFO_EX(UT_3args_ref_arginfo, 0, 1, 3) ZEND_ARG_INFO(0, arg1) ZEND_ARG_INFO(0, arg2) ZEND_ARG_INFO(0, arg3) @@ -234,13 +234,13 @@ static void ut_persistent_zval_ptr_dtor(zval ** zval_ptr) { - (*zval_ptr)->refcount--; - if ((*zval_ptr)->refcount == 0) { + Z_DELREF_P((*zval_ptr)); + if (Z_REFCOUNT_P((*zval_ptr))) { ut_persistent_zval_dtor(*zval_ptr); pefree(*zval_ptr, 1); } else { - if ((*zval_ptr)->refcount == 1) - (*zval_ptr)->is_ref = 0; + if (Z_REFCOUNT_P((*zval_ptr)) == 1) + Z_UNSET_ISREF_P((*zval_ptr)); } }