- relicense with a BSD style license
[m6w6/ext-http] / php_http_std_defs.h
index ce42260c357a0eae495dea035be0739fb08e113f..6bde00ce11952f647dd2fe2bae6440c45a39b422 100644 (file)
@@ -1,16 +1,13 @@
 /*
-   +----------------------------------------------------------------------+
-   | PECL :: http                                                         |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.0 of the PHP license, that  |
-   | is bundled with this package in the file LICENSE, and is available   |
-   | through the world-wide-web at http://www.php.net/license/3_0.txt.    |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 2004-2005 Michael Wallner <mike@php.net>               |
-   +----------------------------------------------------------------------+
+    +--------------------------------------------------------------------+
+    | PECL :: http                                                       |
+    +--------------------------------------------------------------------+
+    | Redistribution and use in source and binary forms, with or without |
+    | modification, are permitted provided that the conditions mentioned |
+    | in the accompanying LICENSE file are met.                          |
+    +--------------------------------------------------------------------+
+    | Copyright (c) 2004-2005, Michael Wallner <mike@php.net>            |
+    +--------------------------------------------------------------------+
 */
 
 /* $Id$ */
@@ -108,7 +105,7 @@ typedef int STATUS;
 #define HTTP_URI_ARGSEP HTTP_URL_ARGSEP
 
 /* send buffer size */
-#define HTTP_SENDBUF_SIZE 2097152
+#define HTTP_SENDBUF_SIZE 40960
 
 /* CURL buffer size */
 #define HTTP_CURLBUF_SIZE 16384
@@ -177,7 +174,7 @@ typedef int STATUS;
                                } else { \
                                        add_assoc_zval(dst, key, *data); \
                                } \
-                               zval_add_ref(data); \
+                               ZVAL_ADDREF(*data); \
                                key = NULL; \
                        } \
                } \
@@ -322,6 +319,12 @@ typedef int STATUS;
 #ifdef HTTP_HAVE_CURL
 #      ifdef ZEND_ENGINE_2
 #              define HTTP_DECLARE_ARG_PASS_INFO() \
+                       static \
+                       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) \
@@ -348,12 +351,23 @@ typedef int STATUS;
 
 #      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_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()
+#      ifdef ZEND_ENGINE_2
+#              define HTTP_DECLARE_ARG_PASS_INFO() \
+                       static \
+                       ZEND_BEGIN_ARG_INFO(http_arg_pass_ref_2, 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};
+#      endif /* ZEND_ENGINE_2 */
 #endif /* HTTP_HAVE_CURL */
 
 
@@ -399,6 +413,35 @@ typedef int STATUS;
 #define RETURN_ZVAL(zv, copy, dtor)            { RETVAL_ZVAL(zv, copy, dtor); return; }
 #endif
 
+#define PHP_MINIT_CALL(func) PHP_MINIT(func)(INIT_FUNC_ARGS_PASSTHRU)
+#define PHP_RINIT_CALL(func) PHP_RINIT(func)(INIT_FUNC_ARGS_PASSTHRU)
+#define PHP_MSHUTDOWN_CALL(func) PHP_MSHUTDOWN(func)(SHUTDOWN_FUNC_ARGS_PASSTHRU)
+#define PHP_RSHUTDOWN_CALL(func) PHP_RSHUTDOWN(func)(SHUTDOWN_FUNC_ARGS_PASSTHRU)
+
+#define Z_OBJ_DELREF(z) \
+       if (Z_OBJ_HT(z)->del_ref) { \
+               Z_OBJ_HT(z)->del_ref(&(z) TSRMLS_CC); \
+       }
+#define Z_OBJ_ADDREF(z) \
+       if (Z_OBJ_HT(z)->add_ref) { \
+               Z_OBJ_HT(z)->add_ref(&(z) TSRMLS_CC); \
+       }
+#define Z_OBJ_DELREF_P(z) \
+       if (Z_OBJ_HT_P(z)->del_ref) { \
+               Z_OBJ_HT_P(z)->del_ref((z) TSRMLS_CC); \
+       }
+#define Z_OBJ_ADDREF_P(z) \
+       if (Z_OBJ_HT_P(z)->add_ref) { \
+               Z_OBJ_HT_P(z)->add_ref((z) TSRMLS_CC); \
+       }
+#define Z_OBJ_DELREF_PP(z) \
+       if (Z_OBJ_HT_PP(z)->del_ref) { \
+               Z_OBJ_HT_PP(z)->del_ref(*(z) TSRMLS_CC); \
+       }
+#define Z_OBJ_ADDREF_PP(z) \
+       if (Z_OBJ_HT_PP(z)->add_ref) { \
+               Z_OBJ_HT_PP(z)->add_ref(*(z) TSRMLS_CC); \
+       }
 
 #endif /* PHP_HTTP_STD_DEFS_H */