| modification, are permitted provided that the conditions mentioned |
| in the accompanying LICENSE file are met. |
+--------------------------------------------------------------------+
- | Copyright (c) 2004-2010, Michael Wallner <mike@php.net> |
+ | Copyright (c) 2004-2011, Michael Wallner <mike@php.net> |
+--------------------------------------------------------------------+
*/
-/* $Id: php_http_api.h 298891 2010-05-03 08:26:38Z mike $ */
-
#ifndef PHP_HTTP_MISC_H
#define PHP_HTTP_MISC_H
#define PHP_HTTP_MATCH_CASE 0x01
#define PHP_HTTP_MATCH_WORD 0x10
#define PHP_HTTP_MATCH_FULL 0x20
-#define PHP_HTTP_MATCH_STRICT (PHP_HTTP_ENV_MATCH_CASE|PHP_HTTP_ENV_MATCH_FULL)
+#define PHP_HTTP_MATCH_STRICT (PHP_HTTP_MATCH_CASE|PHP_HTTP_MATCH_FULL)
extern int php_http_match(const char *haystack, const char *needle, int flags);
Z_ARRVAL_P(zv) = (ht); \
}
-static inline zval *php_http_zsep(int type, zval *z)
+static inline zval *php_http_ztyp(int type, zval *z)
{
SEPARATE_ARG_IF_REF(z);
if (Z_TYPE_P(z) != type) {
return z;
}
+static inline zval *php_http_zsep(zend_bool add_ref, int type, zval *z) {
+ if (add_ref) {
+ Z_ADDREF_P(z);
+ }
+ if (Z_TYPE_P(z) != type) {
+ switch (type) {
+ case IS_NULL: convert_to_null_ex(&z); break;
+ case IS_BOOL: convert_to_boolean_ex(&z); break;
+ case IS_LONG: convert_to_long_ex(&z); break;
+ case IS_DOUBLE: convert_to_double_ex(&z); break;
+ case IS_STRING: convert_to_string_ex(&z); break;
+ case IS_ARRAY: convert_to_array_ex(&z); break;
+ case IS_OBJECT: convert_to_object_ex(&z); break;
+ }
+ } else {
+ SEPARATE_ZVAL_IF_NOT_REF(&z);
+ }
+ return z;
+}
+
/* return bool (v == SUCCESS) */
#define RETVAL_SUCCESS(v) RETVAL_BOOL(SUCCESS == (v))
ZEND_ARG_PASS_INFO(0) \
ZEND_ARG_PASS_INFO(1) \
ZEND_END_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(); \
\
ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_4, 0) \
ZEND_ARG_PASS_INFO(0) \
#define HE_ERROR E_ERROR TSRMLS_CC
typedef enum php_http_error {
+ PHP_HTTP_E_UNKNOWN = 0,
PHP_HTTP_E_RUNTIME,
PHP_HTTP_E_INVALID_PARAM,
PHP_HTTP_E_HEADER,