X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_std_defs.h;h=87de9121f4140b9a63563ce563a8d1018c483459;hb=724e5fabfb5ed0ff62c37a857c403db89eb5fb5e;hp=42b67edf9ade6bf635f6f7ea309e9edf1a869cd4;hpb=b86d629d9dcddf60e3b3abb3368f7fdab1879e7b;p=m6w6%2Fext-http diff --git a/php_http_std_defs.h b/php_http_std_defs.h index 42b67ed..87de912 100644 --- a/php_http_std_defs.h +++ b/php_http_std_defs.h @@ -199,9 +199,12 @@ typedef int STATUS; # define DCL_PROP(a, t, n, v) zend_declare_property_ ##t(ce, (#n), sizeof(#n), (v), (ZEND_ACC_ ##a) TSRMLS_CC) # define DCL_PROP_Z(a, n, v) zend_declare_property(ce, (#n), sizeof(#n), (v), (ZEND_ACC_ ##a) TSRMLS_CC) # define DCL_PROP_N(a, n) zend_declare_property_null(ce, (#n), sizeof(#n), (ZEND_ACC_ ##a) TSRMLS_CC) -# define UPD_PROP(o, t, n, v) zend_update_property_ ##t(o->zo.ce, getThis(), (#n), sizeof(#n), (v) TSRMLS_CC) -# define SET_PROP(o, n, z) zend_update_property(o->zo.ce, getThis(), (#n), sizeof(#n), (z) TSRMLS_CC) -# define GET_PROP(o, n) zend_read_property(o->zo.ce, getThis(), (#n), sizeof(#n), 0 TSRMLS_CC) +# define UPD_PROP(o, t, n, v) UPD_PROP_EX(o, getThis(), t, n, v) +# define UPD_PROP_EX(o, this, t, n, v) zend_update_property_ ##t(o->zo.ce, this, (#n), sizeof(#n), (v) TSRMLS_CC) +# define SET_PROP(o, n, z) SET_PROP_EX(o, getThis(), n, z) +# define SET_PROP_EX(o, this, n, z) zend_update_property(o->zo.ce, this, (#n), sizeof(#n), (z) TSRMLS_CC) +# define GET_PROP(o, n) GET_PROP_EX(o, getThis(), n) +# define GET_PROP_EX(o, this, n) zend_read_property(o->zo.ce, this, (#n), sizeof(#n), 0 TSRMLS_CC) # define INIT_PARR(o, n) \ { \ @@ -243,6 +246,43 @@ typedef int STATUS; #define HTTP_E_URL 7L #define HTTP_E_MSG 8L +#ifdef HTTP_HAVE_CURL +# ifdef ZEND_ENGINE_2 +# define HTTP_DECLARE_ARG_PASS_INFO() \ + static \ + ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_3, 0) \ + 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_4, 0) \ + ZEND_ARG_PASS_INFO(0) \ + 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_5, 0) \ + ZEND_ARG_PASS_INFO(0) \ + ZEND_ARG_PASS_INFO(0) \ + ZEND_ARG_PASS_INFO(0) \ + ZEND_ARG_PASS_INFO(0) \ + ZEND_ARG_PASS_INFO(1) \ + 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} +# endif /* ZEND_ENGINE_2 */ +#else +# define HTTP_DECLARE_ARG_PASS_INFO() +#endif /* HTTP_HAVE_CURL */ + + #endif /* PHP_HTTP_STD_DEFS_H */ /*