| modification, are permitted provided that the conditions mentioned |
| in the accompanying LICENSE file are met. |
+--------------------------------------------------------------------+
- | Copyright (c) 2004-2006, Michael Wallner <mike@php.net> |
+ | Copyright (c) 2004-2007, Michael Wallner <mike@php.net> |
+--------------------------------------------------------------------+
*/
#define RETURN_PROP(n) RETURN_PROP_EX(getThis(), n)
#define RETVAL_PROP_EX(this, n) \
{ \
- zval *__prop = GET_PROP_EX(this, n); \
+ zval *__prop = zend_read_property(THIS_CE, this, ZEND_STRS(#n)-1, 0 TSRMLS_CC); \
RETVAL_ZVAL(__prop, 1, 0); \
}
#define RETURN_PROP_EX(this, n) \
{ \
- zval *__prop = GET_PROP_EX(this, n); \
+ zval *__prop = zend_read_property(THIS_CE, this, ZEND_STRS(#n)-1, 0 TSRMLS_CC); \
RETURN_ZVAL(__prop, 1, 0); \
}
/* max URL length */
#define HTTP_URL_MAXLEN 4096
+/* max request method length */
+#define HTTP_REQUEST_METHOD_MAXLEN 31
+
/* def URL arg separator */
#define HTTP_URL_ARGSEP "&"
/* send buffer size */
-#define HTTP_SENDBUF_SIZE 8000 /*40960*/
+#define HTTP_SENDBUF_SIZE 40960
/* CURL buffer size */
#define HTTP_CURLBUF_SIZE 16384
# define OBJ_PROP(o) (o)->zo.properties
# define OBJ_GUARDS(o) (o)->zo.guards
-# define DCL_STATIC_PROP(a, t, n, v) zend_declare_property_ ##t(OBJ_PROP_CE, (#n), sizeof(#n)-1, (v), (ZEND_ACC_ ##a | ZEND_ACC_STATIC) TSRMLS_CC)
-# define DCL_STATIC_PROP_Z(a, n, v) zend_declare_property(OBJ_PROP_CE, (#n), sizeof(#n)-1, (v), (ZEND_ACC_ ##a | ZEND_ACC_STATIC) TSRMLS_CC)
-# define DCL_STATIC_PROP_N(a, n) zend_declare_property_null(OBJ_PROP_CE, (#n), sizeof(#n)-1, (ZEND_ACC_ ##a | ZEND_ACC_STATIC) TSRMLS_CC)
-# define GET_STATIC_PROP_EX(ce, n) zend_std_get_static_property(ce, (#n), sizeof(#n)-1, 0 TSRMLS_CC)
-# define UPD_STATIC_PROP_EX(ce, t, n, v) zend_update_static_property_ ##t(ce, #n, sizeof(#n)-1, (v) TSRMLS_CC)
-# define UPD_STATIC_STRL_EX(ce, n, v, l) zend_update_static_property_stringl(ce, #n, sizeof(#n)-1, (v), (l) TSRMLS_CC)
-# define SET_STATIC_PROP_EX(ce, n, v) zend_update_static_property(ce, #n, sizeof(#n)-1, v TSRMLS_CC)
-# define GET_STATIC_PROP(n) *GET_STATIC_PROP_EX(OBJ_PROP_CE, n)
-# define UPD_STATIC_PROP(t, n, v) UPD_STATIC_PROP_EX(OBJ_PROP_CE, t, n, v)
-# define SET_STATIC_PROP(n, v) SET_STATIC_PROP_EX(OBJ_PROP_CE, n, v)
-# define UPD_STATIC_STRL(n, v, l) UPD_STATIC_STRL_EX(OBJ_PROP_CE, n, v, l)
-
-# define DCL_PROP(a, t, n, v) zend_declare_property_ ##t(OBJ_PROP_CE, (#n), sizeof(#n)-1, (v), (ZEND_ACC_ ##a) TSRMLS_CC)
-# define DCL_PROP_Z(a, n, v) zend_declare_property(OBJ_PROP_CE, (#n), sizeof(#n)-1, (v), (ZEND_ACC_ ##a) TSRMLS_CC)
-# define DCL_PROP_N(a, n) zend_declare_property_null(OBJ_PROP_CE, (#n), sizeof(#n)-1, (ZEND_ACC_ ##a) TSRMLS_CC)
-# define UPD_PROP(t, n, v) UPD_PROP_EX(getThis(), t, n, v)
-# define UPD_PROP_EX(this, t, n, v) zend_update_property_ ##t(OBJ_PROP_CE, this, (#n), sizeof(#n)-1, (v) TSRMLS_CC)
-# define UPD_STRL(n, v, l) zend_update_property_stringl(OBJ_PROP_CE, getThis(), (#n), sizeof(#n)-1, (v), (l) TSRMLS_CC)
-# define SET_PROP(n, z) SET_PROP_EX(getThis(), n, z)
-# define SET_PROP_EX(this, n, z) zend_update_property(OBJ_PROP_CE, this, (#n), sizeof(#n)-1, (z) TSRMLS_CC)
-# define GET_PROP(n) GET_PROP_EX(getThis(), n)
-# define GET_PROP_EX(this, n) zend_read_property(OBJ_PROP_CE, this, (#n), sizeof(#n)-1, 0 TSRMLS_CC)
-
-# define DCL_CONST(t, n, v) zend_declare_class_constant_ ##t(OBJ_PROP_CE, (n), sizeof(n)-1, (v) TSRMLS_CC)
-
# define ACC_PROP_PRIVATE(ce, flags) ((flags & ZEND_ACC_PRIVATE) && (EG(scope) && ce == EG(scope))
# define ACC_PROP_PROTECTED(ce, flags) ((flags & ZEND_ACC_PROTECTED) && (zend_check_protected(ce, EG(scope))))
# define ACC_PROP_PUBLIC(flags) (flags & ZEND_ACC_PUBLIC)
#ifdef ZEND_ENGINE_2
# define with_error_handling(eh, ec) \
{ \
- error_handling_t __eh = PG(error_handling); \
- zend_class_entry *__ec= PG(exception_class); \
+ error_handling_t __eh = GLOBAL_ERROR_HANDLING; \
+ zend_class_entry *__ec= GLOBAL_EXCEPTION_CLASS; \
php_set_error_handling(eh, ec TSRMLS_CC);
# define end_error_handling() \
php_set_error_handling(__eh, __ec TSRMLS_CC); \
#define HTTP_E_QUERYSTRING 13L
#ifdef ZEND_ENGINE_2
-# define HTTP_BEGIN_ARGS_EX(class, method, ret_ref, req_args) static ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 0, ret_ref, req_args)
-# define HTTP_BEGIN_ARGS_AR(class, method, ret_ref, req_args) static ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 1, ret_ref, req_args)
+# define HTTP_BEGIN_ARGS_EX(class, method, ret_ref, req_args) HTTP_STATIC_ARG_INFO ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 0, ret_ref, req_args)
+# define HTTP_BEGIN_ARGS_AR(class, method, ret_ref, req_args) HTTP_STATIC_ARG_INFO ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 1, ret_ref, req_args)
# define HTTP_END_ARGS }
# 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
#ifdef HTTP_HAVE_CURL
# ifdef ZEND_ENGINE_2
# define HTTP_DECLARE_ARG_PASS_INFO() \
- static \
+ HTTP_STATIC_ARG_INFO \
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_2, 0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(1) \
ZEND_END_ARG_INFO(); \
\
- static \
+ HTTP_STATIC_ARG_INFO \
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 \
+ HTTP_STATIC_ARG_INFO \
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_4, 0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(1) \
ZEND_END_ARG_INFO(); \
\
- static \
+ HTTP_STATIC_ARG_INFO \
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_5, 0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(0) \
#else
# ifdef ZEND_ENGINE_2
# define HTTP_DECLARE_ARG_PASS_INFO() \
- static \
+ HTTP_STATIC_ARG_INFO \
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_2, 0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(1) \
ZEND_END_ARG_INFO(); \
\
- static \
+ HTTP_STATIC_ARG_INFO \
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_4, 0) \
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(0) \