]> granicus.if.org Git - mutt/commitdiff
Some code simplifications.
authorThomas Roessler <roessler@does-not-exist.org>
Fri, 11 May 2001 11:10:43 +0000 (11:10 +0000)
committerThomas Roessler <roessler@does-not-exist.org>
Fri, 11 May 2001 11:10:43 +0000 (11:10 +0000)
headers.c

index 6b7c084b0d7e9dbdb5d7795e9782b13c4fe828ad..1900c836d52d95883bb62081b7ad1bf3088b85a7 100644 (file)
--- a/headers.c
+++ b/headers.c
@@ -40,7 +40,7 @@ void mutt_edit_headers (const char *editor,
   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)
@@ -123,6 +123,7 @@ void mutt_edit_headers (const char *editor,
    */
 
   cur = msg->env->userhdrs;
+  last = &msg->env->userhdrs;
   while (cur)
   {
     keep = 1;
@@ -188,17 +189,14 @@ void mutt_edit_headers (const char *editor,
 
     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);
     }