X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=thread.c;h=d07f32855b62d6933bdb7317c8ccce9bbd83acca;hp=814e00e9972b8fd3c8a79657f2fd252cb3e54568;hb=42cc85de46ed8971a6c793835023cf26766fb096;hpb=0f44dc85fc1280372ffab911d701e703d803fb4b diff --git a/thread.c b/thread.c index 814e00e..d07f328 100644 --- a/thread.c +++ b/thread.c @@ -338,7 +338,7 @@ static LIST *make_subject_list (THREAD * cur, time_t * dateptr) ((env->real_subj != env->subject) || (!option (OPTSORTRE)))) { for (curlist = subjects, oldlist = NULL; curlist; oldlist = curlist, curlist = curlist->next) { - rc = safe_strcmp (env->real_subj, curlist->data); + rc = mutt_strcmp (env->real_subj, curlist->data); if (rc >= 0) break; } @@ -398,7 +398,7 @@ static THREAD *find_subject (CONTEXT * ctx, THREAD * cur) (last->message->received < tmp->message->received) : (last->message->date_sent < tmp->message->date_sent))) && tmp->message->env->real_subj && - safe_strcmp (subjects->data, tmp->message->env->real_subj) == 0) + mutt_strcmp (subjects->data, tmp->message->env->real_subj) == 0) last = tmp; /* best match so far */ } @@ -471,7 +471,7 @@ static void pseudo_threads (CONTEXT * ctx) * parent, since otherwise they rightly belong to the message * we're attaching. */ if (tmp == cur - || !safe_strcmp (tmp->message->env->real_subj, + || !mutt_strcmp (tmp->message->env->real_subj, parent->message->env->real_subj)) { tmp->message->subject_changed = 0; @@ -669,7 +669,7 @@ static void check_subjects (CONTEXT * ctx, int init) if (!tmp) cur->subject_changed = 1; else if (cur->env->real_subj && tmp->message->env->real_subj) - cur->subject_changed = safe_strcmp (cur->env->real_subj, + cur->subject_changed = mutt_strcmp (cur->env->real_subj, tmp->message->env-> real_subj) ? 1 : 0; else @@ -821,7 +821,7 @@ void mutt_sort_threads (CONTEXT * ctx, int init) if (!cur->env->references) ref = ref->next; else { - if (safe_strcmp (ref->data, cur->env->references->data)) + if (mutt_strcmp (ref->data, cur->env->references->data)) ref = cur->env->references; else ref = cur->env->references->next; @@ -843,7 +843,7 @@ void mutt_sort_threads (CONTEXT * ctx, int init) if (new->duplicate_thread) new = new->parent; if (is_descendant (new, thread)) /* no loops! */ - break; + continue; } if (thread->parent) @@ -1261,14 +1261,7 @@ static void clean_references (THREAD * brk, THREAD * cur) /* clearing the References: header from obsolete Message-Id(s) */ mutt_free_list (&ref->next); - if (h->new_env) - mutt_free_list (&h->new_env->references); - else - h->new_env = mutt_new_envelope (); - - h->new_env->references = mutt_copy_list (h->env->references); - - h->refs_changed = h->changed = 1; + h->env->refs_changed = h->changed = 1; } } } @@ -1277,15 +1270,7 @@ void mutt_break_thread (HEADER * hdr) { mutt_free_list (&hdr->env->in_reply_to); mutt_free_list (&hdr->env->references); - hdr->irt_changed = hdr->refs_changed = hdr->changed = 1; - - if (hdr->new_env) { - mutt_free_list (&hdr->new_env->in_reply_to); - mutt_free_list (&hdr->new_env->references); - } - else - hdr->new_env = mutt_new_envelope (); - + hdr->env->irt_changed = hdr->env->refs_changed = 1; clean_references (hdr->thread, hdr->thread->child); } @@ -1299,12 +1284,9 @@ static int link_threads (HEADER * parent, HEADER * child, CONTEXT * ctx) child->env->in_reply_to = mutt_new_list (); child->env->in_reply_to->data = safe_strdup (parent->env->message_id); - child->new_env->in_reply_to = mutt_new_list (); - child->new_env->in_reply_to->data = safe_strdup (parent->env->message_id); - mutt_set_flag (ctx, child, M_TAG, 0); - child->irt_changed = child->changed = 1; + child->env->irt_changed = child->changed = 1; return 1; }