# HG changeset patch # User Paul Aurich # Date 1251437220 0 # Node ID 0a4d0d4cf5df3a5ae7c6f078ab5f728a0f0c6cb6 # Parent 6329667b9ea1c116d5a29ef0b8f93e58b07a0b89 Add more verbose debugging to purple_utf8_strip_unprintables. I have no idea how something is getting into this (on XMPP) that is invalid UTF-8 when it's fine as it's printed out in the sending-im-msg signal. diff -r 6329667b9ea1 -r 0a4d0d4cf5df libpurple/util.c --- a/libpurple/util.c Fri Aug 28 01:04:51 2009 +0000 +++ b/libpurple/util.c Fri Aug 28 05:27:00 2009 +0000 @@ -4652,12 +4652,18 @@ purple_utf8_strip_unprintables(const gchar *str) { gchar *workstr, *iter; + const gchar *bad; if (str == NULL) /* Act like g_strdup */ return NULL; - g_return_val_if_fail(g_utf8_validate(str, -1, NULL), NULL); + if (g_utf8_validate(str, -1, &bad)) { + purple_debug_error("util", "purple_utf8_strip_unprintables(%s) failed; " + "first bad character was %02x (%c)\n", + str, *bad, *bad); + g_return_val_if_reached(NULL); + } workstr = iter = g_new(gchar, strlen(str) + 1); for ( ; *str; ++str) {