Remove useless var
[apps/madmutt.git] / remailer.c
index 79d0c12..a7b385b 100644 (file)
  * Mixmaster support for Mutt
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <lib-lib/lib-lib.h>
+
+#include <lib-sys/unix.h>
+#include <lib-ui/curses.h>
+#include <lib-ui/menu.h>
 
 #include "mutt.h"
 #include "recvattach.h"
-#include "mutt_curses.h"
-#include "mutt_menu.h"
-#include "mapping.h"
 
 #include "remailer.h"
 
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
-#include "lib/rx.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <sys/types.h>
-#include <sys/file.h>
-#include <fcntl.h>
-
 #define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
 
 #ifdef MIXMASTER
@@ -44,14 +30,14 @@ struct coord {
   short r, c;
 };
 
-static REMAILER **mix_type2_list (size_t * l);
+static REMAILER **mix_type2_list (ssize_t * l);
 static REMAILER *mix_new_remailer (void);
 static const char *mix_format_caps (REMAILER * r);
 static int mix_chain_add (MIXCHAIN * chain, const char *s,
                           REMAILER ** type2_list);
 static int mix_get_caps (const char *capstr);
-static void mix_add_entry (REMAILER ***, REMAILER *, size_t *, size_t *);
-static void mix_entry (char *b, size_t blen, MUTTMENU * menu, int num);
+static void mix_add_entry (REMAILER ***, REMAILER *, ssize_t *, ssize_t *);
+static void mix_entry (char *b, ssize_t blen, MUTTMENU * menu, int num);
 static void mix_free_remailer (REMAILER ** r);
 static void mix_free_type2_list (REMAILER *** ttlp);
 static void mix_redraw_ce (REMAILER ** type2_list, struct coord *coords,
@@ -99,11 +85,11 @@ static int mix_get_caps (const char *capstr)
 }
 
 static void mix_add_entry (REMAILER *** type2_list, REMAILER * entry,
-                           size_t * slots, size_t * used)
+                           ssize_t * slots, ssize_t * used)
 {
   if (*used == *slots) {
     *slots += 5;
-    mem_realloc (type2_list, sizeof (REMAILER *) * (*slots));
+    p_realloc(type2_list, *slots);
   }
 
   (*type2_list)[(*used)++] = entry;
@@ -113,21 +99,21 @@ 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 */
 
-static REMAILER **mix_type2_list (size_t * l)
+static REMAILER **mix_type2_list (ssize_t * l)
 {
   FILE *fp;
   pid_t mm_pid;
@@ -138,7 +124,7 @@ static REMAILER **mix_type2_list (size_t * l)
   char *t;
 
   REMAILER **type2_list = NULL, *p;
-  size_t slots = 0, used = 0;
+  ssize_t slots = 0, used = 0;
 
   if (!l)
     return NULL;
@@ -158,7 +144,7 @@ static REMAILER **mix_type2_list (size_t * l)
   /* first, generate the "random" remailer */
 
   p = mix_new_remailer ();
-  p->shortname = str_dup ("<random>");
+  p->shortname = m_strdup("<random>");
   mix_add_entry (&type2_list, p, &slots, &used);
 
   while (fgets (line, sizeof (line), fp)) {
@@ -167,12 +153,12 @@ static REMAILER **mix_type2_list (size_t * l)
     if (!(t = strtok (line, " \t\n")))
       goto problem;
 
-    p->shortname = str_dup (t);
+    p->shortname = m_strdup(t);
 
     if (!(t = strtok (NULL, " \t\n")))
       goto problem;
 
-    p->addr = str_dup (t);
+    p->addr = m_strdup(t);
 
     if (!(t = strtok (NULL, " \t\n")))
       goto problem;
@@ -180,7 +166,7 @@ static REMAILER **mix_type2_list (size_t * l)
     if (!(t = strtok (NULL, " \t\n")))
       goto problem;
 
-    p->ver = str_dup (t);
+    p->ver = m_strdup(t);
 
     if (!(t = strtok (NULL, " \t\n")))
       goto problem;
@@ -212,7 +198,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);
 }
 
 
@@ -231,13 +217,13 @@ static void mix_screen_coordinates (REMAILER ** type2_list,
   if (!chain->cl)
     return;
 
-  mem_realloc (coordsp, sizeof (struct coord) * chain->cl);
+  p_realloc(coordsp, chain->cl);
 
   coords = *coordsp;
 
   if (i) {
     c =
-      coords[i - 1].c + str_len (type2_list[chain->ch[i - 1]]->shortname) + 2;
+      coords[i - 1].c + m_strlen(type2_list[chain->ch[i - 1]]->shortname) + 2;
     r = coords[i - 1].r;
   }
   else {
@@ -248,7 +234,7 @@ static void mix_screen_coordinates (REMAILER ** type2_list,
 
   for (; i < chain->cl; i++) {
     oc = c;
-    c += str_len (type2_list[chain->ch[i]]->shortname) + 2;
+    c += m_strlen(type2_list[chain->ch[i]]->shortname) + 2;
 
     if (c >= COLS) {
       oc = c = MIX_HOFFSET;
@@ -363,7 +349,7 @@ static const char *mix_format_caps (REMAILER * r)
  */
 
 static const char *mix_entry_fmt (char *dest,
-                                  size_t destlen,
+                                  ssize_t destlen,
                                   char op,
                                   const char *src,
                                   const char *prefix,
@@ -418,10 +404,10 @@ static const char *mix_entry_fmt (char *dest,
 
 
 
-static void mix_entry (char *b, size_t blen, MUTTMENU * menu, int num)
+static void mix_entry (char *b, ssize_t blen, MUTTMENU * menu, int num)
 {
   REMAILER **type2_list = (REMAILER **) menu->data;
-  int w=(COLS-SW)>blen?blen:(COLS-SW);
+  int w = (COLS-SW) > blen ? blen : (COLS-SW);
 
   mutt_FormatString (b, w, NONULL (MixEntryFormat), mix_entry_fmt,
                      (unsigned long) type2_list[num], M_FORMAT_ARROWCURSOR);
@@ -435,7 +421,7 @@ static int mix_chain_add (MIXCHAIN * chain, const char *s,
   if (chain->cl >= MAXMIXES)
     return -1;
 
-  if (!str_cmp (s, "0") || !ascii_strcasecmp (s, "<random>")) {
+  if (!m_strcmp(s, "0") || !ascii_strcasecmp (s, "<random>")) {
     chain->ch[chain->cl++] = 0;
     return 0;
   }
@@ -461,20 +447,20 @@ static struct mapping_t RemailerHelp[] = {
   {N_("Delete"), OP_MIX_DELETE},
   {N_("Abort"), OP_EXIT},
   {N_("OK"), OP_MIX_USE},
-  {NULL}
+  {NULL, OP_NULL}
 };
 
 
-void mix_make_chain (LIST ** chainp, int *redraw)
+void mix_make_chain (string_list_t ** chainp, int *redraw)
 {
-  LIST *p;
+  string_list_t *p;
   MIXCHAIN *chain;
   int c_cur = 0, c_old = 0;
   int m_len;
   short c_redraw = 1;
 
   REMAILER **type2_list = NULL;
-  size_t ttll = 0;
+  ssize_t ttll = 0;
 
   struct coord *coords = NULL;
 
@@ -494,11 +480,11 @@ 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);
 
-  mutt_free_list (chainp);
+  string_list_wipe(chainp);
 
   /* safety check */
   for (i = 0; i < chain->cl; i++) {
@@ -661,8 +647,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 */
@@ -671,7 +657,7 @@ int mix_check_message (HEADER * msg)
 {
   const char *fqdn;
   short need_hostname = 0;
-  ADDRESS *p;
+  address_t *p;
 
   if (msg->env->cc || msg->env->bcc) {
     mutt_error _("Mixmaster doesn't accept Cc or Bcc headers.");
@@ -710,7 +696,7 @@ int mix_check_message (HEADER * msg)
   return 0;
 }
 
-int mix_send_message (LIST * chain, const char *tempfile)
+int mix_send_message (string_list_t * chain, const char *tempfile)
 {
   char cmd[HUGE_STRING];
   char tmp[HUGE_STRING];
@@ -720,7 +706,7 @@ int mix_send_message (LIST * chain, const char *tempfile)
   snprintf (cmd, sizeof (cmd), "cat %s | %s -m ", tempfile, Mixmaster);
 
   for (i = 0; chain; chain = chain->next, i = 1) {
-    strfcpy (tmp, cmd, sizeof (tmp));
+    m_strcpy(tmp, sizeof(tmp), cmd);
     mutt_quote_filename (cd_quoted, sizeof (cd_quoted), (char *) chain->data);
     snprintf (cmd, sizeof (cmd), "%s%s%s", tmp, i ? "," : " -l ", cd_quoted);
   }