X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_std_defs.h;h=c212d30d1b85f8efc1136e2e93994d5181d9092d;hp=74db7d43070acab2bb822e69117519ffebee3651;hb=44d0c1d32c01476ccb5edefcf4d5cdaa46b8e5e6;hpb=b562e34cf4f8c8fae7b8fe773e0eed71592b09c2 diff --git a/php_http_std_defs.h b/php_http_std_defs.h index 74db7d4..c212d30 100644 --- a/php_http_std_defs.h +++ b/php_http_std_defs.h @@ -256,9 +256,7 @@ typedef int STATUS; { \ zval *__tmp = GET_PROP(o, p); \ if (__tmp) { \ - zval_dtor(__tmp); \ - FREE_ZVAL(__tmp); \ - __tmp = NULL; \ + zval_ptr_dtor(&__tmp); \ } \ } @@ -305,7 +303,7 @@ typedef int STATUS; # define HTTP_EMPTY_ARGS_EX(class, method, ret_ref) HTTP_BEGIN_ARGS_EX(class, method, ret_ref, 0) HTTP_END_ARGS # define HTTP_ARGS(class, method) args_for_ ##class## _ ##method # define HTTP_ARG_VAL(name, pass_ref) ZEND_ARG_INFO(pass_ref, name) -# define HTTP_ARG_OBJ(class, name, allow_null) ZEND_ARG_OBJ_INFO(1, name, class, allow_null) +# define HTTP_ARG_OBJ(class, name, allow_null) ZEND_ARG_OBJ_INFO(0, name, class, allow_null) #endif #ifdef ZEND_ENGINE_2 @@ -339,18 +337,13 @@ typedef int STATUS; ZEND_ARG_PASS_INFO(0) \ ZEND_ARG_PASS_INFO(0) \ ZEND_ARG_PASS_INFO(1) \ - ZEND_END_ARG_INFO(); \ - \ - static \ - ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_all, 1) \ - ZEND_ARG_PASS_INFO(1) \ - ZEND_END_ARG_INFO() + ZEND_END_ARG_INFO(); + # else # define HTTP_DECLARE_ARG_PASS_INFO() \ static unsigned char http_arg_pass_ref_3[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE}; \ static unsigned char http_arg_pass_ref_4[] = {4, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_FORCE}; \ - static unsigned char http_arg_pass_ref_5[] = {5, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_FORCE}; \ - static unsigned char http_arg_pass_ref_all[]={1, BYREF_FORCE_REST} + static unsigned char http_arg_pass_ref_5[] = {5, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_FORCE}; # endif /* ZEND_ENGINE_2 */ #else # define HTTP_DECLARE_ARG_PASS_INFO()