/*
+ * Copyright notice from original mutt:
* Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
#if HAVE_CONFIG_H
#include "mutt.h"
#include "sort.h"
+#include "lib/mem.h"
+#include "lib/intl.h"
+
#include <string.h>
#include <ctype.h>
if (new->duplicate_thread)
new = new->parent;
if (is_descendant (new, thread)) /* no loops! */
- break;
+ continue;
}
if (thread->parent)
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;
}
/* 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;
}
}
}
{
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);
}
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;
}