add_message: Re-order the code a bit (find message-id first).

We're preparing for being able to deal with files with duplicate
message IDs here. The plan is to create a notmuch_message_t object in
add_message that may or may not reference a document that exists in
the database. So to do this, we have to find the message ID before we
do any manipulation of the doc.
This commit is contained in:
Carl Worth 2009-10-23 05:30:37 -07:00
parent c78358fa8a
commit 31044d10ed

View file

@ -482,21 +482,6 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
(char *) NULL); (char *) NULL);
try { try {
doc.set_data (filename);
add_term (doc, "type", "mail");
parents = g_ptr_array_new ();
refs = notmuch_message_file_get_header (message_file, "references");
parse_references (parents, refs);
in_reply_to = notmuch_message_file_get_header (message_file, "in-reply-to");
parse_references (parents, in_reply_to);
for (i = 0; i < parents->len; i++)
add_term (doc, "ref", (char *) g_ptr_array_index (parents, i));
header = notmuch_message_file_get_header (message_file, "message-id"); header = notmuch_message_file_get_header (message_file, "message-id");
if (header) { if (header) {
message_id = parse_message_id (header, NULL); message_id = parse_message_id (header, NULL);
@ -519,6 +504,21 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
free (sha1); free (sha1);
} }
doc.set_data (filename);
add_term (doc, "type", "mail");
parents = g_ptr_array_new ();
refs = notmuch_message_file_get_header (message_file, "references");
parse_references (parents, refs);
in_reply_to = notmuch_message_file_get_header (message_file, "in-reply-to");
parse_references (parents, in_reply_to);
for (i = 0; i < parents->len; i++)
add_term (doc, "ref", (char *) g_ptr_array_index (parents, i));
thread_ids = find_thread_ids (notmuch, parents, message_id); thread_ids = find_thread_ids (notmuch, parents, message_id);
for (i = 0; i < parents->len; i++) for (i = 0; i < parents->len; i++)