projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rocco Rutte:
[apps/madmutt.git]
/
thread.c
diff --git
a/thread.c
b/thread.c
index
1cff9e5
..
d07f328
100644
(file)
--- a/
thread.c
+++ b/
thread.c
@@
-14,6
+14,9
@@
#include "mutt.h"
#include "sort.h"
#include "mutt.h"
#include "sort.h"
+#include "lib/mem.h"
+#include "lib/intl.h"
+
#include <string.h>
#include <ctype.h>
#include <string.h>
#include <ctype.h>
@@
-840,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! */
if (new->duplicate_thread)
new = new->parent;
if (is_descendant (new, thread)) /* no loops! */
-
break
;
+
continue
;
}
if (thread->parent)
}
if (thread->parent)
@@
-1247,7
+1250,7
@@
static void clean_references (THREAD * brk, THREAD * cur)
for (p = brk; !done && p; p = p->parent)
for (ref = cur->message->env->references; p->message && ref;
ref = ref->next)
for (p = brk; !done && p; p = p->parent)
for (ref = cur->message->env->references; p->message && ref;
ref = ref->next)
- if (!
mutt
_strcasecmp (ref->data, p->message->env->message_id)) {
+ if (!
safe
_strcasecmp (ref->data, p->message->env->message_id)) {
done = 1;
break;
}
done = 1;
break;
}
@@
-1258,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);
/* 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;
}
}
}
}
}
}
@@
-1274,15
+1270,7
@@
void mutt_break_thread (HEADER * hdr)
{
mutt_free_list (&hdr->env->in_reply_to);
mutt_free_list (&hdr->env->references);
{
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);
}
clean_references (hdr->thread, hdr->thread->child);
}
@@
-1296,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->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);
mutt_set_flag (ctx, child, M_TAG, 0);
- child->irt_changed = child->changed = 1;
+ child->
env->
irt_changed = child->changed = 1;
return 1;
}
return 1;
}