X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-index-message.cc;h=3270aac7cfcdc640d619b19d7ceef1f7170196cc;hp=5396cd19458fe0b5fc2833545da9aa6b7c345fe0;hb=30ed705fda4647a19ad243c9301187bb45bf9de8;hpb=870b3987265f74ed8b45ba0e7d7edfcca1923b5a diff --git a/notmuch-index-message.cc b/notmuch-index-message.cc index 5396cd19..3270aac7 100644 --- a/notmuch-index-message.cc +++ b/notmuch-index-message.cc @@ -412,6 +412,7 @@ gen_terms_part (Xapian::TermGenerator term_gen, GMimeStream *stream; GMimeDataWrapper *wrapper; GByteArray *byte_array; + GMimeContentDisposition *disposition; char *body; if (GMIME_IS_MULTIPART (part)) { @@ -438,6 +439,27 @@ gen_terms_part (Xapian::TermGenerator term_gen, return; } + disposition = g_mime_object_get_content_disposition (part); + if (disposition && + strcmp (disposition->disposition, GMIME_DISPOSITION_ATTACHMENT) == 0) + { + const char *filename = g_mime_part_get_filename (GMIME_PART (part)); + const char *extension; + + add_term (term_gen.get_document (), "label", "attachment"); + gen_terms (term_gen, "attachment", filename); + + if (filename) { + extension = strchr (filename, '.'); + if (extension) { + add_term (term_gen.get_document (), "attachment_extension", + extension + 1); + } + } + + return; + } + byte_array = g_byte_array_new (); stream = g_mime_stream_mem_new_with_byte_array (byte_array);