#define HTTP_DEFAULT_CACHECONTROL "private, must-revalidate, max-age=0"
/* max URL length */
-#define HTTP_URL_MAXLEN 2048
-#define HTTP_URI_MAXLEN HTTP_URL_MAXLEN
+#define HTTP_URL_MAXLEN 4096
/* def URL arg separator */
#define HTTP_URL_ARGSEP "&"
-#define HTTP_URI_ARGSEP HTTP_URL_ARGSEP
/* send buffer size */
#define HTTP_SENDBUF_SIZE 40960
zend_hash_get_current_key_ex(hash, &strkey, NULL, &numkey, 0, &pos) != HASH_KEY_NON_EXISTANT; \
zend_hash_move_forward_ex(hash, &pos)) \
+#define FOREACH_KEYLEN(pos, array, strkey, keylen, numkey) FOREACH_HASH_KEYLEN(pos, Z_ARRVAL_P(array), strkey, keylen, numkey)
+#define FOREACH_HASH_KEYLEN(pos, hash, strkey, keylen, numkey) \
+ for ( zend_hash_internal_pointer_reset_ex(hash, &pos); \
+ zend_hash_get_current_key_ex(hash, &strkey, &keylen, &numkey, 0, &pos) != HASH_KEY_NON_EXISTANT; \
+ zend_hash_move_forward_ex(hash, &pos)) \
+
#define FOREACH_KEYVAL(pos, array, strkey, numkey, val) FOREACH_HASH_KEYVAL(pos, Z_ARRVAL_P(array), strkey, numkey, val)
#define FOREACH_HASH_KEYVAL(pos, hash, strkey, numkey, val) \
for ( zend_hash_internal_pointer_reset_ex(hash, &pos); \
if (Z_TYPE_PP(tmp) != IS_ARRAY) { \
convert_to_array_ex(tmp); \
} \
+ ZVAL_ADDREF(*data); \
add_next_index_zval(*tmp, *data); \
} else { \
+ ZVAL_ADDREF(*data); \
add_assoc_zval(dst, key, *data); \
} \
- ZVAL_ADDREF(*data); \
key = NULL; \
} \
} \
name## _ce = zend_register_internal_class_ex(&ce, parent, NULL TSRMLS_CC); \
name## _ce->ce_flags |= flags; \
memcpy(& name## _handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); \
- zend_hash_init(& name## _ce->constants_table, 0, NULL, ZVAL_INTERNAL_PTR_DTOR, 1); \
name## _declare_default_properties(); \
}
# define ACC_PROP_PUBLIC(flags) (flags & ZEND_ACC_PUBLIC)
# define ACC_PROP(ce, flags) (ACC_PROP_PUBLIC(flags) || ACC_PROP_PRIVATE(ce, flags) || ACC_PROP_PROTECTED(ce, flags))
-# define INIT_PARR(o, n) \
- { \
- zval *__tmp; \
- MAKE_STD_ZVAL(__tmp); \
- array_init(__tmp); \
- SET_PROP(o, n, __tmp); \
- }
-
-# define FREE_PARR(o, p) \
- { \
- zval *__tmp = GET_PROP(o, p); \
- if (__tmp) { \
- zval_ptr_dtor(&__tmp); \
- } \
- }
-
-/*
- * the property *MUST* be updated after SEP_PROP()
- */
-# define SEP_PROP(zpp) \
- { \
- zval **op = zpp; \
- SEPARATE_ZVAL_IF_NOT_REF(zpp); \
- if (op != zpp) { \
- zval_ptr_dtor(op); \
- } \
- }
-
# define SET_EH_THROW() SET_EH_THROW_EX(zend_exception_get_default())
# define SET_EH_THROW_HTTP() SET_EH_THROW_EX(http_exception_get_default())
# define SET_EH_THROW_EX(ex) php_set_error_handling(EH_THROW, ex TSRMLS_CC)
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 \
+ 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();
# else
# define HTTP_DECLARE_ARG_PASS_INFO() \
- static unsigned char http_arg_pass_ref_2[] = {2, BYREF_NONE, BYREF_FORCE};
+ static unsigned char http_arg_pass_ref_2[] = {2, BYREF_NONE, BYREF_FORCE};\
+ static unsigned char http_arg_pass_ref_3[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE};
# endif /* ZEND_ENGINE_2 */
#endif /* HTTP_HAVE_CURL */