committed On Thu, 2005-04-07 at 14:09 -0400, Jeffrey Stedfast wrote: > I thought I remembered Zucchi working on a fix for this problem (prob a > diff bug # tho?) but it doesn't seem it ever went in, so here's another > go at a fix. > > text/plain attachment (73945.patch) > Index: ChangeLog > =================================================================== > RCS file: /cvs/gnome/evolution-data-server/camel/ChangeLog,v > retrieving revision 1.2442 > diff -u -r1.2442 ChangeLog > --- ChangeLog 4 Apr 2005 19:09:20 -0000 1.2442 > +++ ChangeLog 7 Apr 2005 18:10:43 -0000 > @@ -1,3 +1,9 @@ > +2005-04-07 Jeffrey Stedfast <fejj novell com> > + > + * camel-mime-utils.c (camel_header_encode_string): If > + camel_charset_best() returns NULL, default to UTF-8. > + (camel_header_encode_phrase): Same as above. > + > 2005-03-31 Jeffrey Stedfast <fejj novell com> > > * camel-sasl-digest-md5.c (camel_sasl_digest_md5_finalize): If the > Index: camel-mime-utils.c > =================================================================== > RCS file: /cvs/gnome/evolution-data-server/camel/camel-mime-utils.c,v > retrieving revision 1.227 > diff -u -r1.227 camel-mime-utils.c > --- camel-mime-utils.c 25 Mar 2005 18:17:16 -0000 1.227 > +++ camel-mime-utils.c 7 Apr 2005 18:10:44 -0000 > @@ -1272,6 +1272,7 @@ > const unsigned char *inptr = in, *start, *word; > gboolean last_was_encoded = FALSE; > gboolean last_was_space = FALSE; > + const char *charset; > int encoding; > GString *out; > char *outstr; > @@ -1335,8 +1336,9 @@ > if (last_was_encoded) > g_string_append_c (out, ' '); > > - rfc2047_encode_word (out, start, inptr - start, > - camel_charset_best (start, inptr - start), CAMEL_MIME_IS_ESAFE); > + if (!(charset = camel_charset_best (start, inptr - start))) > + charset = "UTF-8"; > + rfc2047_encode_word (out, start, inptr - start, charset, CAMEL_MIME_IS_ESAFE); > last_was_encoded = TRUE; > break; > } > @@ -1381,8 +1383,9 @@ > if (last_was_encoded) > g_string_append_c (out, ' '); > > - rfc2047_encode_word (out, start, inptr - start, > - camel_charset_best (start, inptr - start - 1), CAMEL_MIME_IS_ESAFE); > + if (!(charset = camel_charset_best (start, inptr - start))) > + charset = "UTF-8"; > + rfc2047_encode_word (out, start, inptr - start, charset, CAMEL_MIME_IS_ESAFE); > break; > } > } > @@ -1570,6 +1573,7 @@ > { > struct _phrase_word *word = NULL, *last_word = NULL; > GList *words, *wordl; > + const char *charset; > GString *out; > char *outstr; > > @@ -1621,11 +1625,13 @@ > start = word->start; > } > > - if (word->encoding == 1) > + if (word->encoding == 1) { > rfc2047_encode_word (out, start, len, "ISO-8859-1", CAMEL_MIME_IS_PSAFE); > - else > - rfc2047_encode_word (out, start, len, > - camel_charset_best (start, len), CAMEL_MIME_IS_PSAFE); > + } else { > + if (!(charset = camel_charset_best (start, len))) > + charset = "UTF-8"; > + rfc2047_encode_word (out, start, len, charset, CAMEL_MIME_IS_PSAFE); > + } > break; > } > -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature