X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=remailer.c;h=a7b385b91fabb8ff49ce0eddecc6e706dba3dbd9;hp=08dc174fad6eb0aa77208554be1d2c06e054b48c;hb=f65ae399906906f734398432691dbacf2c7bda9f;hpb=8e037c67a88cb4680c4391134c578e3b55a80f8a diff --git a/remailer.c b/remailer.c index 08dc174..a7b385b 100644 --- a/remailer.c +++ b/remailer.c @@ -11,33 +11,17 @@ * Mixmaster support for Mutt */ -#if HAVE_CONFIG_H -# include "config.h" -#endif +#include -#include +#include +#include +#include #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 -#include -#include - -#include -#include -#include - #define SW (option(OPTMBOXPANE)?SidebarWidth:0) #ifdef MIXMASTER @@ -46,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, @@ -101,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; @@ -115,7 +99,7 @@ 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) @@ -129,7 +113,7 @@ static void mix_free_remailer (REMAILER ** 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; @@ -140,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; @@ -160,7 +144,7 @@ static REMAILER **mix_type2_list (size_t * l) /* first, generate the "random" remailer */ p = mix_new_remailer (); - p->shortname = str_dup (""); + p->shortname = m_strdup(""); mix_add_entry (&type2_list, p, &slots, &used); while (fgets (line, sizeof (line), fp)) { @@ -169,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; @@ -182,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; @@ -233,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 { @@ -250,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; @@ -365,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, @@ -420,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); @@ -437,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, "")) { + if (!m_strcmp(s, "0") || !ascii_strcasecmp (s, "")) { chain->ch[chain->cl++] = 0; return 0; } @@ -463,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; @@ -496,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++) { @@ -673,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."); @@ -712,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]; @@ -722,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); }