# HG changeset patch # User Yoshiki Yazawa # Date 1247032608 -32400 # Node ID e2156468f4e5d7a91196170dbfd3d6ee150d1caa # Parent 5a22c65d019ca0b854b81c854b8ef214f04299af better workaround for the bug of pidgin 2.5.x that purple_markup_unescape_entity() returns wrong entity length for a string in hexadecimal numeric expression. diff -r 5a22c65d019c -r e2156468f4e5 util.c --- a/util.c Sun Jul 05 10:40:27 2009 +0900 +++ b/util.c Wed Jul 08 14:56:48 2009 +0900 @@ -89,19 +89,26 @@ ent = purple_markup_unescape_entity(ptr, &entlen); if(ent != NULL) { while(*ent) { - *ptr2++ = *ent++; + if(ptr2 - html < srclen) + *ptr2++ = *ent++; + else + ent++; } ptr += entlen; } else { - *ptr2++ = *ptr++; + if(ptr2 - html < srclen) + *ptr2++ = *ptr++; + else + ptr++; } } else { - *ptr2++ = *ptr++; + if(ptr2 - html < srclen) + *ptr2++ = *ptr++; + else + ptr++; } - if(ptr2 - html > srclen) - break; } /* for */ str = g_strdup("\0");