mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-03-14 03:25:15 +01:00
thread: Simplify code for assigning the subject.
We know that matched messages are always added in order, so we can always just grab the subject from the first message. This is the same approach that was used previously in _thread_add_message. That is, the recent feature of renaming a thread based on the subject of the "first" matched message is as simple as moving the subject assignment from _thread_add_message to _thread_add_matched_message.
This commit is contained in:
parent
4971b85641
commit
36e4459a32
1 changed files with 14 additions and 24 deletions
|
@ -112,12 +112,6 @@ _thread_add_message (notmuch_thread_t *thread,
|
|||
g_object_unref (G_OBJECT (list));
|
||||
}
|
||||
|
||||
if (! thread->subject) {
|
||||
const char *subject;
|
||||
subject = notmuch_message_get_header (message, "subject");
|
||||
thread->subject = talloc_strdup (thread, subject);
|
||||
}
|
||||
|
||||
for (tags = notmuch_message_get_tags (message);
|
||||
notmuch_tags_valid (tags);
|
||||
notmuch_tags_move_to_next (tags))
|
||||
|
@ -143,26 +137,22 @@ _thread_add_matched_message (notmuch_thread_t *thread,
|
|||
if (date > thread->newest || ! thread->matched_messages)
|
||||
thread->newest = date;
|
||||
|
||||
const char *subject;
|
||||
const char *cleaned_subject;
|
||||
if (! thread->subject) {
|
||||
const char *subject;
|
||||
|
||||
subject = notmuch_message_get_header (message, "subject");
|
||||
subject = notmuch_message_get_header (message, "subject");
|
||||
|
||||
if ((strncasecmp (subject, "Re: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Aw: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Vs: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Sv: ", 4) == 0)) {
|
||||
|
||||
cleaned_subject = talloc_strndup (thread,
|
||||
subject + 4,
|
||||
strlen(subject) - 4);
|
||||
} else {
|
||||
cleaned_subject = talloc_strdup (thread, subject);
|
||||
}
|
||||
|
||||
if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) ||
|
||||
(sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest)) {
|
||||
thread->subject = talloc_strdup (thread, cleaned_subject);
|
||||
if ((strncasecmp (subject, "Re: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Aw: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Vs: ", 4) == 0) ||
|
||||
(strncasecmp (subject, "Sv: ", 4) == 0))
|
||||
{
|
||||
thread->subject = talloc_strdup (thread, subject + 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
thread->subject = talloc_strdup (thread, subject);
|
||||
}
|
||||
}
|
||||
|
||||
thread->matched_messages++;
|
||||
|
|
Loading…
Add table
Reference in a new issue