diff options
author | Sara Golemon <pollita@php.net> | 2019-08-16 11:25:33 -0400 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2019-08-16 11:39:05 -0400 |
commit | 9b9814fa774eb9e4b8c51721324e708e2b1aa30e (patch) | |
tree | 5712ecc50028f5c053eb5f0873c6d189aef5d2e5 | |
parent | 49666474435ff0db2f96fcb00fb04ff7fcfcec57 (diff) | |
download | php-git-9b9814fa774eb9e4b8c51721324e708e2b1aa30e.tar.gz |
Revert "Move to non deprecated API on suitable ICU versions"
This reverts commit 13a2f2d041999dca0066542f2a552798fab9a13d.
The APIs used by this commit aren't entirely equivalent to the original ones.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | ext/intl/idn/idn.c | 20 |
2 files changed, 5 insertions, 19 deletions
@@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 7.3.10 +- Intl: + . Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8() + when requested. (Sara) + 29 Aug 2019, PHP 7.3.9 - Core: diff --git a/ext/intl/idn/idn.c b/ext/intl/idn/idn.c index bd87afcd71..fc83f7921f 100644 --- a/ext/intl/idn/idn.c +++ b/ext/intl/idn/idn.c @@ -224,34 +224,16 @@ static void php_intl_idn_to(INTERNAL_FUNCTION_PARAMETERS, } RETURN_FALSE; } else { + UParseError parse_error; UChar converted[MAXPATHLEN]; int32_t converted_ret_len; status = U_ZERO_ERROR; - -#if U_ICU_VERSION_MAJOR_NUM >= 55 - UIDNAInfo info = UIDNA_INFO_INITIALIZER; - UIDNA *idna = uidna_openUTS46((int32_t)option, &status); - - if (U_FAILURE(status)) { - intl_error_set( NULL, status, "idn_to_ascii: failed to create an UIDNA instance", 0 ); - RETURN_FALSE; - } - - if (mode == INTL_IDN_TO_ASCII) { - converted_ret_len = uidna_nameToASCII(idna, ustring, ustring_len, converted, MAXPATHLEN, &info, &status); - } else { - converted_ret_len = uidna_nameToUnicode(idna, ustring, ustring_len, converted, MAXPATHLEN, &info, &status); - } - uidna_close(idna); -#else - UParseError parse_error; if (mode == INTL_IDN_TO_ASCII) { converted_ret_len = uidna_IDNToASCII(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status); } else { converted_ret_len = uidna_IDNToUnicode(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status); } -#endif efree(ustring); if (U_FAILURE(status)) { |