mirror of
https://github.com/curl/curl.git
synced 2024-12-03 06:20:31 +08:00
IDN: Use TR46 'transitional' for toASCII translations
References: http://unicode.org/faq/idn.html http://unicode.org/reports/tr46 Closes #1206
This commit is contained in:
parent
cd6b99ef32
commit
f30cbcac11
@ -4010,7 +4010,12 @@ static void fix_hostname(struct connectdata *conn, struct hostname *host)
|
|||||||
#ifdef USE_LIBIDN2
|
#ifdef USE_LIBIDN2
|
||||||
if(idn2_check_version(IDN2_VERSION)) {
|
if(idn2_check_version(IDN2_VERSION)) {
|
||||||
char *ace_hostname = NULL;
|
char *ace_hostname = NULL;
|
||||||
int rc = idn2_lookup_ul((const char *)host->name, &ace_hostname, 0);
|
#ifdef IDN2_TRANSITIONAL
|
||||||
|
int flags = IDN2_NFC_INPUT | IDN2_TRANSITIONAL;
|
||||||
|
#else
|
||||||
|
int flags = IDN2_NFC_INPUT;
|
||||||
|
#endif
|
||||||
|
int rc = idn2_lookup_ul((const char *)host->name, &ace_hostname, flags);
|
||||||
if(rc == IDN2_OK) {
|
if(rc == IDN2_OK) {
|
||||||
host->encalloc = (char *)ace_hostname;
|
host->encalloc = (char *)ace_hostname;
|
||||||
/* change the name pointer to point to the encoded hostname */
|
/* change the name pointer to point to the encoded hostname */
|
||||||
|
Loading…
Reference in New Issue
Block a user