notmuch-show: Show message part using UTF-8.

Pass the message through the charset filter so that we can view
messages wrote in different charset encoding.

Signed-off-by: Kan-Ru Chen <kanru@kanru.info>
This commit is contained in:
Kan-Ru Chen 2009-11-22 16:30:47 +08:00 committed by Carl Worth
parent 7698f41656
commit a15f174437

View file

@ -72,12 +72,19 @@ show_part_content (GMimeObject *part)
GMimeStream *stream_stdout = g_mime_stream_file_new (stdout); GMimeStream *stream_stdout = g_mime_stream_file_new (stdout);
GMimeStream *stream_filter = NULL; GMimeStream *stream_filter = NULL;
GMimeDataWrapper *wrapper; GMimeDataWrapper *wrapper;
const char *charset;
charset = g_mime_object_get_content_type_parameter (part, "charset");
if (stream_stdout) { if (stream_stdout) {
g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE); g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
stream_filter = g_mime_stream_filter_new(stream_stdout); stream_filter = g_mime_stream_filter_new(stream_stdout);
g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter), g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
g_mime_filter_crlf_new(FALSE, FALSE)); g_mime_filter_crlf_new(FALSE, FALSE));
if (charset) {
g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
g_mime_filter_charset_new(charset, "UTF-8"));
}
} }
wrapper = g_mime_part_get_content_object (GMIME_PART (part)); wrapper = g_mime_part_get_content_object (GMIME_PART (part));