- make it work with 5.3+ libs
[m6w6/ext-http] / http_functions.c
index 4527c25388f0f8b16a0d215513e7d52649a76a14..94b62bfa042b7cea2bcb20c93eb03b652c86afed 100644 (file)
@@ -185,11 +185,12 @@ PHP_FUNCTION(http_build_str)
                \
                if (rs_array) { \
                        HashPosition pos; \
-                       zval **value; \
+                       zval **value_ptr; \
                         \
-                       FOREACH_VAL(pos, supported, value) { \
-                               convert_to_string_ex(value); \
-                               add_assoc_double(rs_array, Z_STRVAL_PP(value), 1.0); \
+                       FOREACH_VAL(pos, supported, value_ptr) { \
+                               zval *value = http_zsep(IS_STRING, *value_ptr); \
+                               add_assoc_double(rs_array, Z_STRVAL_P(value), 1.0); \
+                               zval_ptr_dtor(&value); \
                        } \
                } \
        } \
@@ -256,7 +257,7 @@ PHP_FUNCTION(http_negotiate_content_type)
        Send HTTP status code. */
 PHP_FUNCTION(http_send_status)
 {
-       int status = 0;
+       long status = 0;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status) != SUCCESS) {
                RETURN_FALSE;
@@ -675,10 +676,9 @@ PHP_FUNCTION(http_parse_cookie)
        if (allowed_extras_array) {
                allowed_extras = ecalloc(zend_hash_num_elements(Z_ARRVAL_P(allowed_extras_array)) + 1, sizeof(char *));
                FOREACH_VAL(pos, allowed_extras_array, entry) {
-                       ZVAL_ADDREF(*entry);
-                       convert_to_string_ex(entry);
-                       allowed_extras[i++] = estrndup(Z_STRVAL_PP(entry), Z_STRLEN_PP(entry));
-                       zval_ptr_dtor(entry);
+                       zval *data = http_zsep(IS_STRING, *entry);
+                       allowed_extras[i++] = estrndup(Z_STRVAL_P(data), Z_STRLEN_P(data));
+                       zval_ptr_dtor(&data);
                }
        }
        
@@ -856,7 +856,7 @@ PHP_FUNCTION(http_persistent_handles_ident)
                zval **bodyonly; \
                 \
                /* check if only the body should be returned */ \
-               if (options && (SUCCESS == zend_hash_find(Z_ARRVAL_P(options), "bodyonly", sizeof("bodyonly"), (void *) &bodyonly)) && zval_is_true(*bodyonly)) { \
+               if (options && (SUCCESS == zend_hash_find(Z_ARRVAL_P(options), "bodyonly", sizeof("bodyonly"), (void *) &bodyonly)) && i_zend_is_true(*bodyonly)) { \
                        http_message *msg = http_message_parse(PHPSTR_VAL(&request.conv.response), PHPSTR_LEN(&request.conv.response)); \
                         \
                        if (msg) { \