Mercurial > pidgin
comparison src/gtkimhtml.c @ 7281:0f7dd6715a90
[gaim-migrate @ 7860]
this fixes the { type entities
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Thu, 16 Oct 2003 04:35:41 +0000 |
| parents | f946af3b0039 |
| children | 3a41c3f80228 |
comparison
equal
deleted
inserted
replaced
| 7280:f946af3b0039 | 7281:0f7dd6715a90 |
|---|---|
| 755 static gboolean | 755 static gboolean |
| 756 gtk_imhtml_is_amp_escape (const gchar *string, | 756 gtk_imhtml_is_amp_escape (const gchar *string, |
| 757 gchar **replace, | 757 gchar **replace, |
| 758 gint *length) | 758 gint *length) |
| 759 { | 759 { |
| 760 static char buf[3]; | 760 static char buf[6]; |
| 761 g_return_val_if_fail (string != NULL, FALSE); | 761 g_return_val_if_fail (string != NULL, FALSE); |
| 762 g_return_val_if_fail (replace != NULL, FALSE); | 762 g_return_val_if_fail (replace != NULL, FALSE); |
| 763 g_return_val_if_fail (length != NULL, FALSE); | 763 g_return_val_if_fail (length != NULL, FALSE); |
| 764 | 764 |
| 765 if (!g_ascii_strncasecmp (string, "&", 5)) { | 765 if (!g_ascii_strncasecmp (string, "&", 5)) { |
| 789 } else if (*(string + 1) == '#') { | 789 } else if (*(string + 1) == '#') { |
| 790 guint pound = 0; | 790 guint pound = 0; |
| 791 if ((sscanf (string, "&#%u;", £) == 1) && pound != 0) { | 791 if ((sscanf (string, "&#%u;", £) == 1) && pound != 0) { |
| 792 if (*(string + 3 + (gint)log10 (pound)) != ';') | 792 if (*(string + 3 + (gint)log10 (pound)) != ';') |
| 793 return FALSE; | 793 return FALSE; |
| 794 g_snprintf(buf, sizeof(buf), "%c", (gchar)pound); | 794 g_unichar_to_utf8((gunichar)pound, buf); |
| 795 *replace = buf; | 795 *replace = buf; |
| 796 *length = 2; | 796 *length = 2; |
| 797 while (isdigit ((gint) string [*length])) (*length)++; | 797 while (isdigit ((gint) string [*length])) (*length)++; |
| 798 if (string [*length] == ';') (*length)++; | 798 if (string [*length] == ';') (*length)++; |
| 799 } else { | 799 } else { |
