summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2017-06-16 23:43:30 +0000
committerGary Kramlich <grim@reaperworld.com>2017-06-16 23:43:30 +0000
commitcce258edfd6b5044eb607466a29ce0a1cab22cca (patch)
treeb4ba43a5e6f307a42db6b6fa6184fdd62a6c17e8
parent1661d8aad68539ffec6a525bba107c7dbb1ba7da (diff)
parent139f1949dcfd9981deafcc275973b93d087e38b3 (diff)
downloadpidgin-cce258edfd6b5044eb607466a29ce0a1cab22cca.tar.gz
Merged in dequisdequis/pidgin/release-2.x.y (pull request #213)
purple_markup_unescape_entity: Fix handling of hexadecimal html entities Approved-by: Eion Robb <eionrobb@gmail.com> Approved-by: Gary Kramlich <grim@reaperworld.com> Approved-by: Mike Ruprecht <cmaiku@gmail.com>
-rw-r--r--libpurple/util.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libpurple/util.c b/libpurple/util.c
index 5015acc76a..044a7acff0 100644
--- a/libpurple/util.c
+++ b/libpurple/util.c
@@ -950,8 +950,7 @@ const char *
purple_markup_unescape_entity(const char *text, int *length)
{
const char *pln;
- int len, pound;
- char temp[2];
+ int len;
if (!text || *text != '&')
return NULL;
@@ -974,7 +973,7 @@ purple_markup_unescape_entity(const char *text, int *length)
pln = "\302\256"; /* or use g_unichar_to_utf8(0xae); */
else if(IS_ENTITY("&apos;"))
pln = "\'";
- else if(text[1] == '#' && g_ascii_isxdigit(text[2])) {
+ else if(text[1] == '#' && (g_ascii_isxdigit(text[2]) || text[2] == 'x')) {
static char buf[7];
const char *start = text + 2;
char *end;