X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_http_url.c;h=32bae585790a2d866f7d2ccbbddce5910d626370;hb=a198f2857401aedda674813db1533393a5d70f13;hp=ad4f14cb87d222c47c227602dd7c418b74d23d10;hpb=13662c61792685435496cd25c95ee1c1950cd9d7;p=m6w6%2Fext-http diff --git a/src/php_http_url.c b/src/php_http_url.c index ad4f14c..32bae58 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 @@ -1016,7 +1021,7 @@ static ZEND_RESULT_CODE parse_uidn_2003(struct parse_state *state, size_t prev_l # endif efree(uhost_str); - if (error > U_ZERO_ERROR) { + if (rc > U_ZERO_ERROR) { goto error; } @@ -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; } @@ -2103,4 +2108,3 @@ PHP_MINIT_FUNCTION(http_url) * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ -