Mercurial > pidgin.yaz
changeset 28457:4bbf24889934
merge of '4b37450c5470f1f61cdba5cf5de7a6abb166b2c1'
and 'c61d5559bb5cfd55defb3613015e9118dbc2184e'
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 28 Aug 2009 00:00:46 +0000 |
parents | 268b821de5c5 (current diff) c9c038529f38 (diff) |
children | 6329667b9ea1 |
files | |
diffstat | 2 files changed, 7 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/util.c Thu Aug 27 05:58:57 2009 +0000 +++ b/libpurple/util.c Fri Aug 28 00:00:46 2009 +0000 @@ -4660,17 +4660,11 @@ g_return_val_if_fail(g_utf8_validate(str, -1, NULL), NULL); workstr = iter = g_new(gchar, strlen(str) + 1); - while (*str) { - gunichar c = g_utf8_get_char(str); - const gchar *next = g_utf8_next_char(str); - size_t len = next - str; - - if (g_unichar_isprint(c)) { - memcpy(iter, str, len); - iter += len; + for ( ; *str; ++str) { + if (*str >= 0x20 || *str == 0x09 || *str == 0x0a || *str == 0x0d) { + *iter = *str; + ++iter; } - - str = next; } /* nul-terminate the new string */
--- a/libpurple/util.h Thu Aug 27 05:58:57 2009 +0000 +++ b/libpurple/util.h Fri Aug 28 00:00:46 2009 +0000 @@ -1286,16 +1286,14 @@ /** * Removes unprintable characters from a UTF-8 string. These characters * (in particular low-ASCII characters) are invalid in XML 1.0 and thus - * are not allowed in XMPP and are rejected by libxml2 by default. This - * function uses g_unichar_isprint to determine what characters should - * be stripped. The returned string must be freed by the caller. + * are not allowed in XMPP and are rejected by libxml2 by default. + * + * The returned string must be freed by the caller. * * @param str A valid UTF-8 string. * * @return A newly allocated UTF-8 string without the unprintable characters. * @since 2.6.0 - * - * @see g_unichar_isprint */ gchar *purple_utf8_strip_unprintables(const gchar *str);