X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_url.c;h=24a13ff6df31818563e9217ee58532f70cbf11a4;hp=ad4f14cb87d222c47c227602dd7c418b74d23d10;hb=f94c237788db6949e7ea63f360ad45412de50267;hpb=13662c61792685435496cd25c95ee1c1950cd9d7 diff --git a/src/php_http_url.c b/src/php_http_url.c index ad4f14c..24a13ff 100644 --- a/src/php_http_url.c +++ b/src/php_http_url.c @@ -19,6 +19,7 @@ # include #endif #if PHP_HTTP_HAVE_LIBICU +# include # include #endif #if PHP_HTTP_HAVE_LIBIDNKIT || PHP_HTTP_HAVE_LIBIDNKIT2 @@ -742,7 +743,11 @@ static inline size_t parse_mb(struct parse_state *state, parse_mb_what_t what, c if (what == PARSE_HOSTINFO && (state->flags & PHP_HTTP_URL_PARSE_TOIDN)) { /* idna */ } else if (state->flags & PHP_HTTP_URL_PARSE_MBUTF8) { +#if PHP_HTTP_HAVE_LIBICU + if (!u_isalnum(wchar)) { +#else if (!isualnum(wchar)) { +#endif break; } #if PHP_HTTP_HAVE_WCHAR @@ -2030,7 +2035,7 @@ PHP_METHOD(HttpUrl, toArray) } static zend_function_entry php_http_url_methods[] = { - PHP_ME(HttpUrl, __construct, ai_HttpUrl___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) + PHP_ME(HttpUrl, __construct, ai_HttpUrl___construct, ZEND_ACC_PUBLIC) PHP_ME(HttpUrl, mod, ai_HttpUrl_mod, ZEND_ACC_PUBLIC) PHP_ME(HttpUrl, toString, ai_HttpUrl_toString, ZEND_ACC_PUBLIC) ZEND_MALIAS(HttpUrl, __toString, toString, ai_HttpUrl_toString, ZEND_ACC_PUBLIC) @@ -2083,14 +2088,14 @@ PHP_MINIT_FUNCTION(http_url) #endif zend_declare_class_constant_long(php_http_url_class_entry, ZEND_STRL("PARSE_TOPCT"), PHP_HTTP_URL_PARSE_TOPCT); - INIT_NS_CLASS_ENTRY(ce, "http\\Env", "Url", php_http_url_methods); - php_http_env_url_class_entry = zend_register_internal_class_ex(&ce, php_http_url_class_entry); - zend_declare_class_constant_long(php_http_url_class_entry, ZEND_STRL("IGNORE_ERRORS"), PHP_HTTP_URL_IGNORE_ERRORS); zend_declare_class_constant_long(php_http_url_class_entry, ZEND_STRL("SILENT_ERRORS"), PHP_HTTP_URL_SILENT_ERRORS); zend_declare_class_constant_long(php_http_url_class_entry, ZEND_STRL("STDFLAGS"), PHP_HTTP_URL_STDFLAGS); + INIT_NS_CLASS_ENTRY(ce, "http\\Env", "Url", NULL); + php_http_env_url_class_entry = zend_register_internal_class_ex(&ce, php_http_url_class_entry); + return SUCCESS; }