X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Firi.c;h=dcab3ea1533fc2ea9e9d3429a134a9b9471060ee;hp=9b16639e6b2c03e7abf9e413576c89f6ce21d83f;hb=38a7829dcb4eb5dba28dbf0f05c6a80fea9217f8;hpb=351e438e5109856d8e97af19583e655aa2f1bb4c diff --git a/src/iri.c b/src/iri.c index 9b16639e..dcab3ea1 100644 --- a/src/iri.c +++ b/src/iri.c @@ -256,22 +256,22 @@ idn_decode (char *host) /* Try to transcode string str from remote encoding to UTF-8. On success, *new contains the transcoded string. *new content is unspecified otherwise. */ bool -remote_to_utf8 (struct iri *i, const char *str, const char **new) +remote_to_utf8 (struct iri *iri, const char *str, const char **new) { iconv_t cd; bool ret = false; - if (!i->uri_encoding) + if (!iri->uri_encoding) return false; /* When `i->uri_encoding' == "UTF-8" there is nothing to convert. But we must test for non-ASCII symbols for correct hostname processing in `idn_encode' function. */ - if (!strcmp (i->uri_encoding, "UTF-8")) + if (!strcmp (iri->uri_encoding, "UTF-8")) { - int i, len = strlen (str); - for (i = 0; i < len; i++) - if ((unsigned char) str[i] >= (unsigned char) '\200') + const char *p = str; + for (p = str; *p; p++) + if (*p < 0) { *new = strdup (str); return true; @@ -279,7 +279,7 @@ remote_to_utf8 (struct iri *i, const char *str, const char **new) return false; } - cd = iconv_open ("UTF-8", i->uri_encoding); + cd = iconv_open ("UTF-8", iri->uri_encoding); if (cd == (iconv_t)(-1)) return false;