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