fix regressions
[apps/madmutt.git] / remailer.c
index 7825407..6181c73 100644 (file)
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+
 #include "mutt.h"
+#include "recvattach.h"
 #include "mutt_curses.h"
 #include "mutt_menu.h"
 #include "mapping.h"
@@ -35,6 +38,8 @@
 #include <sys/file.h>
 #include <fcntl.h>
 
+#define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
+
 #ifdef MIXMASTER
 
 struct coord {
@@ -110,16 +115,16 @@ static void mix_add_entry (REMAILER *** type2_list, REMAILER * entry,
 
 static REMAILER *mix_new_remailer (void)
 {
-  return mem_calloc (1, sizeof (REMAILER));
+  return p_new(REMAILER, 1);
 }
 
 static void mix_free_remailer (REMAILER ** r)
 {
-  mem_free (&(*r)->shortname);
-  mem_free (&(*r)->addr);
-  mem_free (&(*r)->ver);
+  p_delete(&(*r)->shortname);
+  p_delete(&(*r)->addr);
+  p_delete(&(*r)->ver);
 
-  mem_free (r);
+  p_delete(r);
 }
 
 /* parse the type2.list as given by mixmaster -T */
@@ -209,7 +214,7 @@ static void mix_free_type2_list (REMAILER *** ttlp)
   for (i = 0; type2_list[i]; i++)
     mix_free_remailer (&type2_list[i]);
 
-  mem_free (type2_list);
+  p_delete(type2_list);
 }
 
 
@@ -418,8 +423,9 @@ static const char *mix_entry_fmt (char *dest,
 static void mix_entry (char *b, size_t blen, MUTTMENU * menu, int num)
 {
   REMAILER **type2_list = (REMAILER **) menu->data;
+  int w=(COLS-SW)>blen?blen:(COLS-SW);
 
-  mutt_FormatString (b, blen, NONULL (MixEntryFormat), mix_entry_fmt,
+  mutt_FormatString (b, w, NONULL (MixEntryFormat), mix_entry_fmt,
                      (unsigned long) type2_list[num], M_FORMAT_ARROWCURSOR);
 }
 
@@ -480,7 +486,7 @@ void mix_make_chain (LIST ** chainp, int *redraw)
   int op;
 
   int i, j;
-  char *t;
+  const char *t;
 
   if (!(type2_list = mix_type2_list (&ttll))) {
     mutt_error _("Can't get mixmaster's type2.list!");
@@ -490,7 +496,7 @@ void mix_make_chain (LIST ** chainp, int *redraw)
 
   *redraw = REDRAW_FULL;
 
-  chain = mem_calloc (sizeof (MIXCHAIN), 1);
+  chain = p_new(MIXCHAIN, 1);
   for (p = *chainp; p; p = p->next)
     mix_chain_add (chain, (char *) p->data, type2_list);
 
@@ -657,8 +663,8 @@ void mix_make_chain (LIST ** chainp, int *redraw)
   }
 
   mix_free_type2_list (&type2_list);
-  mem_free (&coords);
-  mem_free (&chain);
+  p_delete(&coords);
+  p_delete(&chain);
 }
 
 /* some safety checks before piping the message to mixmaster */