- fix php4 build
[m6w6/ext-http] / http_headers_api.c
index f264b68ae4c4ccd1771b2cc289869e959cd28eb5..11815f25a835a81112da1a08c6aad73628cbf063 100644 (file)
@@ -30,6 +30,8 @@
 
 #include <ctype.h>
 
+ZEND_EXTERN_MODULE_GLOBALS(http);
+
 /* {{{ static int http_sort_q(const void *, const void *) */
 static int http_sort_q(const void *a, const void *b TSRMLS_DC)
 {
@@ -76,6 +78,7 @@ PHP_HTTP_API char *_http_negotiate_q(const char *entry, const HashTable *support
                } else {
                        qual = 1000.0 - i++;
                }
+               /* TODO: support primaries only, too */
                FOREACH_HASH_VAL((HashTable *)supported, zsupp) {
                        if (!strcasecmp(Z_STRVAL_PP(zsupp), Z_STRVAL_PP(zentry))) {
                                add_assoc_double(&zentries, Z_STRVAL_PP(zsupp), qual);
@@ -111,7 +114,6 @@ PHP_HTTP_API http_range_status _http_get_request_ranges(HashTable *ranges, size_
        range = Z_STRVAL_P(zrange);
 
        if (strncmp(range, "bytes=", sizeof("bytes=") - 1)) {
-               http_error(E_NOTICE, HTTP_E_HEADER, "Range header misses bytes=");
                return RANGE_NO;
        }
 
@@ -169,7 +171,7 @@ PHP_HTTP_API http_range_status _http_get_request_ranges(HashTable *ranges, size_
                                                                return RANGE_NO;
                                                        }
                                                        /* "0-0" or overflow */
-                                                       if (end == -10 || length <= end) {
+                                                       if (end == -10 || length <= (size_t) end) {
                                                                return RANGE_ERR;
                                                        }
                                                        begin = 0;
@@ -178,7 +180,7 @@ PHP_HTTP_API http_range_status _http_get_request_ranges(HashTable *ranges, size_
                                                /* "-12345" */
                                                case -1:
                                                        /* "-", "-0" or overflow */
-                                                       if (end == -1 || end == -10 || length <= end) {
+                                                       if (end == -1 || end == -10 || length <= (size_t) end) {
                                                                return RANGE_ERR;
                                                        }
                                                        begin = length - end;
@@ -196,7 +198,7 @@ PHP_HTTP_API http_range_status _http_get_request_ranges(HashTable *ranges, size_
 
                                                                /* "12345-" */
                                                                case -1:
-                                                                       if (length <= begin) {
+                                                                       if (length <= (size_t) begin) {
                                                                                return RANGE_ERR;
                                                                        }
                                                                        end = length - 1;
@@ -204,8 +206,8 @@ PHP_HTTP_API http_range_status _http_get_request_ranges(HashTable *ranges, size_
 
                                                                /* "12345-67890" */
                                                                default:
-                                                                       if (    (length <= begin) ||
-                                                                                       (length <= end)   ||
+                                                                       if (    (length <= (size_t) begin) ||
+                                                                                       (length <= (size_t) end)   ||
                                                                                        (end    <  begin)) {
                                                                                return RANGE_ERR;
                                                                        }
@@ -255,13 +257,13 @@ PHP_HTTP_API STATUS _http_parse_headers_ex(const char *header, HashTable *header
 
 
        if (header_len < 2 || !strchr(header, ':')) {
-               http_error(E_WARNING, HTTP_E_PARSE, "Cannot parse too short or malformed HTTP headers");
+               http_error(HE_WARNING, HTTP_E_MALFORMED_HEADERS, "Cannot parse too short or malformed HTTP headers");
                return FAILURE;
        }
 
        line = header;
 
-       while (header_len >= (line - begin)) {
+       while (header_len >= (size_t) (line - begin)) {
                int value_len = 0;
 
                switch (*line++)