- revised request_method api
[m6w6/ext-http] / http_functions.c
index 41afd28e3733664ab0d7ad22e3f47fd2420002a1..a1620e6b80f2fec52fcd9a9e5fec8fbfaa5436cf 100644 (file)
@@ -66,7 +66,7 @@ PHP_FUNCTION(http_date)
 }
 /* }}} */
 
-/* {{{ proto string http_build_url(mixed url[, mixed parts[, array new_url]])
+/* {{{ proto string http_build_url(mixed url[, mixed parts[, array &new_url]])
  *
  * Returns the new URL as string on success or FALSE on failure.
  */
@@ -87,6 +87,7 @@ PHP_FUNCTION(http_build_url)
                } else {
                        convert_to_string(z_new_url);
                        if (!(new_url = php_url_parse_ex(Z_STRVAL_P(z_new_url), Z_STRLEN_P(z_new_url)))) {
+                               http_error_ex(HE_WARNING, HTTP_E_URL, "Could not parse URL (%s)", Z_STRVAL_P(z_new_url));
                                RETURN_FALSE;
                        }
                }
@@ -100,6 +101,7 @@ PHP_FUNCTION(http_build_url)
                        if (new_url) {
                                php_url_free(new_url);
                        }
+                       http_error_ex(HE_WARNING, HTTP_E_URL, "Could not parse URL (%s)", Z_STRVAL_P(z_old_url));
                        RETURN_FALSE;
                }
        }
@@ -601,8 +603,6 @@ PHP_FUNCTION(ob_etaghandler)
  * Provides a basic throttling mechanism, which will yield the current process
  * resp. thread until the entity has been completely sent, though.
  * 
- * Note: This doesn't really work with the FastCGI SAPI.
- *
  * Expects a double parameter specifying the seconds too sleep() after
  * each chunk sent.  Additionally accepts an optional int parameter
  * representing the chunk size in bytes.
@@ -1462,7 +1462,7 @@ PHP_FUNCTION(http_request_method_unregister)
                        if (is_numeric_string(Z_STRVAL_P(method), Z_STRLEN_P(method), NULL, NULL, 1)) {
                                convert_to_long(method);
                        } else {
-                               ulong mn;
+                               int mn;
                                if (!(mn = http_request_method_exists(1, 0, Z_STRVAL_P(method)))) {
                                        RETURN_FALSE;
                                }
@@ -1505,7 +1505,7 @@ PHP_FUNCTION(http_request_method_exists)
                                        RETURN_LONG((long) http_request_method_exists(1, 0, Z_STRVAL_P(method)));
                                }
                        case IS_LONG:
-                               RETURN_LONG((long) http_request_method_exists(0, Z_LVAL_P(method), NULL));
+                               RETURN_LONG((long) http_request_method_exists(0, (int) Z_LVAL_P(method), NULL));
                        default:
                                RETURN_FALSE;
                }
@@ -1530,7 +1530,7 @@ PHP_FUNCTION(http_request_method_name)
                        RETURN_FALSE;
                }
 
-               RETURN_STRING(estrdup(http_request_method_name((ulong) method)), 0);
+               RETURN_STRING(estrdup(http_request_method_name((int) method)), 0);
        }
 }
 /* }}} */