X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Findex.cc;h=f216ae5deb44becd81874bc5309cbb4ac4762e5b;hp=6b6fbb8f577ece5ebd4bd1d1f7d88a32ece51e7d;hb=adb53b073791f710b93a8fc755b6b7b606bf7fd1;hpb=bb0b119358e4d6df5cc085a48cb3d2e09e396922 diff --git a/lib/index.cc b/lib/index.cc index 6b6fbb8f..f216ae5d 100644 --- a/lib/index.cc +++ b/lib/index.cc @@ -357,7 +357,7 @@ _index_content_type (notmuch_message_t *message, GMimeObject *part) { GMimeContentType *content_type = g_mime_object_get_content_type (part); if (content_type) { - char *mime_string = g_mime_content_type_to_string (content_type); + char *mime_string = g_mime_content_type_get_mime_type (content_type); if (mime_string) { _notmuch_message_gen_terms (message, "mimetype", mime_string); g_free (mime_string); @@ -493,7 +493,7 @@ _index_mime_part (notmuch_message_t *message, } } - wrapper = g_mime_part_get_content_object (GMIME_PART (part)); + wrapper = g_mime_part_get_content (GMIME_PART (part)); if (wrapper) g_mime_data_wrapper_write_to_stream (wrapper, filter); @@ -528,12 +528,11 @@ _index_encrypted_mime_part (notmuch_message_t *message, notmuch = notmuch_message_get_database (message); - GMimeCryptoContext* crypto_ctx = NULL; bool attempted = false; GMimeDecryptResult *decrypt_result = NULL; bool get_sk = (notmuch_indexopts_get_decrypt_policy (indexopts) == NOTMUCH_DECRYPT_TRUE); clear = _notmuch_crypto_decrypt (&attempted, notmuch_indexopts_get_decrypt_policy (indexopts), - message, crypto_ctx, encrypted_data, get_sk ? &decrypt_result : NULL, &err); + message, encrypted_data, get_sk ? &decrypt_result : NULL, &err); if (!attempted) return; if (err || !clear) { @@ -573,6 +572,31 @@ _index_encrypted_mime_part (notmuch_message_t *message, } +static notmuch_status_t +_notmuch_message_index_user_headers (notmuch_message_t *message, GMimeMessage *mime_message) +{ + + notmuch_database_t *notmuch = notmuch_message_get_database (message); + notmuch_string_map_iterator_t *iter = _notmuch_database_user_headers (notmuch); + + for (; _notmuch_string_map_iterator_valid (iter); + _notmuch_string_map_iterator_move_to_next (iter)) { + + const char *prefix_name = _notmuch_string_map_iterator_key (iter); + + const char *header_name = _notmuch_string_map_iterator_value (iter); + + const char *header = g_mime_object_get_header (GMIME_OBJECT (mime_message), header_name); + if (header) + _notmuch_message_gen_terms (message, prefix_name, header); + } + + if (iter) + _notmuch_string_map_iterator_destroy (iter); + return NOTMUCH_STATUS_SUCCESS; + +} + notmuch_status_t _notmuch_message_index_file (notmuch_message_t *message, notmuch_indexopts_t *indexopts, @@ -591,7 +615,6 @@ _notmuch_message_index_file (notmuch_message_t *message, addresses = g_mime_message_get_from (mime_message); if (addresses) { _index_address_list (message, "from", addresses); - g_mime_2_6_unref (addresses); } addresses = g_mime_message_get_all_recipients (mime_message); @@ -603,6 +626,8 @@ _notmuch_message_index_file (notmuch_message_t *message, subject = g_mime_message_get_subject (mime_message); _notmuch_message_gen_terms (message, "subject", subject); + status = _notmuch_message_index_user_headers (message, mime_message); + _index_mime_part (message, indexopts, g_mime_message_get_mime_part (mime_message)); return NOTMUCH_STATUS_SUCCESS;