]> granicus.if.org Git - php/commitdiff
Revert "Move to non deprecated API on suitable ICU versions"
authorSara Golemon <pollita@php.net>
Fri, 16 Aug 2019 15:25:33 +0000 (11:25 -0400)
committerSara Golemon <pollita@php.net>
Fri, 16 Aug 2019 15:39:05 +0000 (11:39 -0400)
This reverts commit 13a2f2d041999dca0066542f2a552798fab9a13d.

The APIs used by this commit aren't entirely equivalent to the original ones.

NEWS
ext/intl/idn/idn.c

diff --git a/NEWS b/NEWS
index 6248adfc15d6c86570814930eb8c6d9380e72ee4..07bd89152ac807a2b9faacd6853df115f295be03 100644 (file)
--- 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:
index bd87afcd711eb924a124129a2b5eb83f8e35cfa2..fc83f7921f595ac1ddcb4bd5312e57a98b63bcdd 100644 (file)
@@ -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)) {