# HG changeset patch # User Paul Aurich # Date 1247697712 0 # Node ID aac25c66a843e84e69b51a6a70a40d0307ee028a # Parent 090dc513552f7b848ff29dbe94f57b2afdaf31c9 For JIDs, do strdown before normalization. Having looked at the code for g_utf8_strdown(), this seems like it might help with the locale-dependence issues, although I'm not entirely sure. diff -r 090dc513552f -r aac25c66a843 libpurple/protocols/jabber/jutil.c --- a/libpurple/protocols/jabber/jutil.c Wed Jul 15 22:31:10 2009 +0000 +++ b/libpurple/protocols/jabber/jutil.c Wed Jul 15 22:41:52 2009 +0000 @@ -257,29 +257,29 @@ /* normalization */ if(at) { - node = g_utf8_normalize(str, at-str, G_NORMALIZE_NFKC); + node = g_utf8_strdown(str, at-str); if(slash) { - domain = g_utf8_normalize(at+1, slash-(at+1), G_NORMALIZE_NFKC); + domain = g_utf8_strdown(at+1, slash-(at+1)); jid->resource = g_utf8_normalize(slash+1, -1, G_NORMALIZE_NFKC); } else { - domain = g_utf8_normalize(at+1, -1, G_NORMALIZE_NFKC); + domain = g_utf8_strdown(at+1, -1); } } else { if(slash) { - domain = g_utf8_normalize(str, slash-str, G_NORMALIZE_NFKC); + domain = g_utf8_strdown(str, slash-str); jid->resource = g_utf8_normalize(slash+1, -1, G_NORMALIZE_NFKC); } else { - domain = g_utf8_normalize(str, -1, G_NORMALIZE_NFKC); + domain = g_utf8_strdown(str, -1); } } if (node) { - jid->node = g_utf8_strdown(node, -1); + jid->node = g_utf8_normalize(node, -1, G_NORMALIZE_NFKC); g_free(node); } if (domain) { - jid->domain = g_utf8_strdown(domain, -1); + jid->domain = g_utf8_normalize(domain, -1, G_NORMALIZE_NFKC); g_free(domain); }