don't limit header length to 1k
[m6w6/ext-http] / php_http_api.h
index 44071222526466386977c8e557747708b2bf4c9d..9f40191e22e0ecf29cc60f91aff0b9f5fab1449d 100644 (file)
@@ -6,7 +6,7 @@
     | modification, are permitted provided that the conditions mentioned |
     | in the accompanying LICENSE file are met.                          |
     +--------------------------------------------------------------------+
-    | Copyright (c) 2004-2007, Michael Wallner <mike@php.net>            |
+    | Copyright (c) 2004-2010, Michael Wallner <mike@php.net>            |
     +--------------------------------------------------------------------+
 */
 
@@ -27,6 +27,7 @@
 #define HTTP_PARAMS_ALLOW_FAILURE      0x02
 #define HTTP_PARAMS_RAISE_ERROR                0x04
 #define HTTP_PARAMS_DEFAULT    (HTTP_PARAMS_ALLOW_COMMA|HTTP_PARAMS_ALLOW_FAILURE|HTTP_PARAMS_RAISE_ERROR)
+#define HTTP_PARAMS_COLON_SEPARATOR    0x10
 
 extern PHP_MINIT_FUNCTION(http_support);
 
@@ -168,9 +169,9 @@ static inline void _http_sleep(double s)
 #define HTTP_MLLISEC (1000)
 #define HTTP_MCROSEC (1000 * 1000)
 #define HTTP_NANOSEC (1000 * 1000 * 1000)
-#define HTTP_MSEC(s) (s * HTTP_MLLISEC)
-#define HTTP_USEC(s) (s * HTTP_MCROSEC)
-#define HTTP_NSEC(s) (s * HTTP_NANOSEC)
+#define HTTP_MSEC(s) ((long)(s * HTTP_MLLISEC))
+#define HTTP_USEC(s) ((long)(s * HTTP_MCROSEC))
+#define HTTP_NSEC(s) ((long)(s * HTTP_NANOSEC))
 
 #if defined(PHP_WIN32)
        Sleep((DWORD) HTTP_MSEC(s));
@@ -227,7 +228,7 @@ static inline const char *_http_locate_body(const char *message)
                        if (*(msg+1) == '\n') {
                                body = msg + 2;
                                break;
-                       } else if (*(msg+1) == '\r' && *(msg+2) == '\n' && msg != message && *(msg-1) == '\r') {
+                       } else if (*(msg+1) == '\r' && *(msg+2) == '\n') {
                                body = msg + 3;
                                break;
                        }
@@ -248,8 +249,8 @@ static inline const char *_http_locate_eol(const char *line, int *eol_len)
        return eol;
 }
 
-#define convert_to_type(t, z) _convert_to_type((t), (z))
-static inline zval *_convert_to_type(int type, zval *z)
+#define http_zset(t, z) _http_zset((t), (z))
+static inline zval *_http_zset(int type, zval *z)
 {
        if (Z_TYPE_P(z) != type) {
                switch (type) {
@@ -264,12 +265,10 @@ static inline zval *_convert_to_type(int type, zval *z)
        }
        return z;
 }
-#define convert_to_type_ex(t, z, p) _convert_to_type_ex((t), (z), (p))
-static inline zval *_convert_to_type_ex(int type, zval *z, zval **p)
-{
-       if (p) {
-               *p = z;
-       }
+#define http_zsep(t, z) _http_zsep_ex((t), (z), NULL)
+#define http_zsep_ex(t, z, p) _http_zsep_ex((t), (z), (p))
+static inline zval *_http_zsep_ex(int type, zval *z, zval **p) {
+       SEPARATE_ARG_IF_REF(z);
        if (Z_TYPE_P(z) != type) {
                switch (type) {
                        case IS_NULL:   convert_to_null_ex(&z);         break;
@@ -282,11 +281,7 @@ static inline zval *_convert_to_type_ex(int type, zval *z, zval **p)
                }
        }
        if (p) {
-               if (*p == z) {
-                       *p = NULL;
-               } else {
-                       *p = z;
-               }
+               *p = z;
        }
        return z;
 }