diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/camel-mime-part.c | 12 |
2 files changed, 15 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 97218b1433..e5ee3794f9 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2000-09-05 Dan Winship <danw@helixcode.com> + + * camel-mime-part.c (camel_mime_part_get_filename): If a MIME part + has no Content-Disposition, but does have a "name" on the + Content-Type, return that as the filename. + (process_header): strstrip the Content-Description + 2000-09-05 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-utils.c (get_OVER_headers): care about diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c index f372240347..d37b4c2fae 100644 --- a/camel/camel-mime-part.c +++ b/camel/camel-mime-part.c @@ -199,7 +199,7 @@ process_header(CamelMedium *medium, const char *header_name, const char *header_ case HEADER_DESCRIPTION: /* raw header->utf8 conversion */ text = header_decode_string(header_value); g_free(mime_part->description); - mime_part->description = text; + mime_part->description = g_strstrip (text); break; case HEADER_DISPOSITION: set_disposition (mime_part, header_value); @@ -351,9 +351,13 @@ camel_mime_part_set_filename (CamelMimePart *mime_part, const gchar *filename) const gchar * camel_mime_part_get_filename (CamelMimePart *mime_part) { - if (mime_part->disposition) - return header_param(mime_part->disposition->params, "filename"); - return NULL; + if (mime_part->disposition) { + const gchar *name = header_param (mime_part->disposition->params, "filename"); + if (name) + return name; + } + + return gmime_content_field_get_parameter (mime_part->content_type, "name"); } |