summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSara Golemon <pollita@php.net>2019-08-16 11:25:33 -0400
committerSara Golemon <pollita@php.net>2019-08-16 11:39:05 -0400
commit9b9814fa774eb9e4b8c51721324e708e2b1aa30e (patch)
tree5712ecc50028f5c053eb5f0873c6d189aef5d2e5
parent49666474435ff0db2f96fcb00fb04ff7fcfcec57 (diff)
downloadphp-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--NEWS4
-rw-r--r--ext/intl/idn/idn.c20
2 files changed, 5 insertions, 19 deletions
diff --git a/NEWS b/NEWS
index 6248adfc15..07bd89152a 100644
--- a/NEWS
+++ b/NEWS
@@ -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)) {