aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-charset-map.c
diff options
context:
space:
mode:
authorJon Trowbridge <trow@ximian.com>2001-05-15 05:04:35 +0800
committerJon Trowbridge <trow@src.gnome.org>2001-05-15 05:04:35 +0800
commit05817ac1224ed1fc9853095b312dfface4fd3479 (patch)
tree4c4ff84f10dce0e42dc95ff14a99dd4048439110 /camel/camel-charset-map.c
parentb63edae65e589775b1169e9111755f00b09bd610 (diff)
downloadgsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar.gz
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar.bz2
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar.lz
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar.xz
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.tar.zst
gsoc2013-evolution-05817ac1224ed1fc9853095b312dfface4fd3479.zip
Replicate the semantics of the libunicode utf8 functions by returning NULL
2001-05-14 Jon Trowbridge <trow@ximian.com> * camel-search-private.c (utf8_get): Replicate the semantics of the libunicode utf8 functions by returning NULL in the arg on invalid utf8. * camel-pgp-context.c (pgp_verify): Check for valid utf8, terminate loop if something looks wrong. * camel-mime-utils.c (header_encode_phrase_get_words): Properly check for invalid utf8. (header_encode_string): Properly check for invalid utf8. * camel-charset-map.c (camel_charset_step): Properly check for invalid utf8. 2001-05-14 Jon Trowbridge <trow@ximian.com> * e-html-utils.c (is_citation): Check for bad utf8. svn path=/trunk/; revision=9798
Diffstat (limited to 'camel/camel-charset-map.c')
-rw-r--r--camel/camel-charset-map.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/camel/camel-charset-map.c b/camel/camel-charset-map.c
index d7aa8763dd..f33c8082dd 100644
--- a/camel/camel-charset-map.c
+++ b/camel/camel-charset-map.c
@@ -227,11 +227,12 @@ camel_charset_step(CamelCharset *c, const char *in, int len)
gunichar c;
const char *newinptr;
newinptr = g_utf8_next_char(inptr);
- if (newinptr == NULL) {
+ c = g_utf8_get_char(inptr);
+ if (newinptr == NULL || !g_unichar_validate (c)) {
inptr++;
continue;
}
- c = g_utf8_get_char(inptr);
+
inptr = newinptr;
if (c<=0xffff) {
mask &= charset_mask(c);