ENVELOPE *n;
time_t mtime;
struct stat st;
- LIST *cur, *last = NULL, *tmp;
+ LIST *cur, **last = NULL, *tmp;
mutt_mktemp (path);
if ((ofp = safe_fopen (path, "w")) == NULL)
*/
cur = msg->env->userhdrs;
+ last = &msg->env->userhdrs;
while (cur)
{
keep = 1;
if (keep)
{
- last = cur;
- cur = cur->next;
+ last = &cur->next;
+ cur = cur->next;
}
else
{
- if (last)
- last->next = cur->next;
- else
- msg->env->userhdrs = cur->next;
- tmp = cur;
- cur = cur->next;
+ tmp = cur;
+ *last = cur->next;
+ cur = cur->next;
tmp->next = NULL;
mutt_free_list (&tmp);
}