X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=remailer.c;h=cbefd2425a5f8726b4cd296002048e51bf660c43;hp=68de8373f599e57edd0688dce6c00839af7834c7;hb=9274cbe8e6410ddb95ddc667faa678a29da85420;hpb=96d53ff49c308769efbf708e1e65819077cb7af6 diff --git a/remailer.c b/remailer.c index 68de837..cbefd24 100644 --- a/remailer.c +++ b/remailer.c @@ -15,16 +15,18 @@ # include "config.h" #endif +#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 @@ -35,6 +37,8 @@ #include #include +#define SW (option(OPTMBOXPANE)?SidebarWidth:0) + #ifdef MIXMASTER struct coord { @@ -100,7 +104,7 @@ static void mix_add_entry (REMAILER *** type2_list, REMAILER * entry, { if (*used == *slots) { *slots += 5; - safe_realloc (type2_list, sizeof (REMAILER *) * (*slots)); + p_realloc(type2_list, *slots); } (*type2_list)[(*used)++] = entry; @@ -110,16 +114,16 @@ static void mix_add_entry (REMAILER *** type2_list, REMAILER * entry, static REMAILER *mix_new_remailer (void) { - return safe_calloc (1, sizeof (REMAILER)); + return p_new(REMAILER, 1); } static void mix_free_remailer (REMAILER ** r) { - FREE (&(*r)->shortname); - FREE (&(*r)->addr); - FREE (&(*r)->ver); + p_delete(&(*r)->shortname); + p_delete(&(*r)->addr); + p_delete(&(*r)->ver); - FREE (r); + p_delete(r); } /* parse the type2.list as given by mixmaster -T */ @@ -155,7 +159,7 @@ static REMAILER **mix_type2_list (size_t * l) /* first, generate the "random" remailer */ p = mix_new_remailer (); - p->shortname = safe_strdup (""); + p->shortname = m_strdup(""); mix_add_entry (&type2_list, p, &slots, &used); while (fgets (line, sizeof (line), fp)) { @@ -164,12 +168,12 @@ static REMAILER **mix_type2_list (size_t * l) if (!(t = strtok (line, " \t\n"))) goto problem; - p->shortname = safe_strdup (t); + p->shortname = m_strdup(t); if (!(t = strtok (NULL, " \t\n"))) goto problem; - p->addr = safe_strdup (t); + p->addr = m_strdup(t); if (!(t = strtok (NULL, " \t\n"))) goto problem; @@ -177,7 +181,7 @@ static REMAILER **mix_type2_list (size_t * l) if (!(t = strtok (NULL, " \t\n"))) goto problem; - p->ver = safe_strdup (t); + p->ver = m_strdup(t); if (!(t = strtok (NULL, " \t\n"))) goto problem; @@ -209,7 +213,7 @@ static void mix_free_type2_list (REMAILER *** ttlp) for (i = 0; type2_list[i]; i++) mix_free_remailer (&type2_list[i]); - FREE (type2_list); + p_delete(type2_list); } @@ -228,13 +232,13 @@ static void mix_screen_coordinates (REMAILER ** type2_list, if (!chain->cl) return; - safe_realloc (coordsp, sizeof (struct coord) * chain->cl); + p_realloc(coordsp, chain->cl); coords = *coordsp; if (i) { c = - coords[i - 1].c + mutt_strlen (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 { @@ -245,7 +249,7 @@ static void mix_screen_coordinates (REMAILER ** type2_list, for (; i < chain->cl; i++) { oc = c; - c += mutt_strlen (type2_list[chain->ch[i]]->shortname) + 2; + c += m_strlen(type2_list[chain->ch[i]]->shortname) + 2; if (c >= COLS) { oc = c = MIX_HOFFSET; @@ -418,8 +422,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); } @@ -431,7 +436,7 @@ static int mix_chain_add (MIXCHAIN * chain, const char *s, if (chain->cl >= MAXMIXES) return -1; - if (!mutt_strcmp (s, "0") || !ascii_strcasecmp (s, "")) { + if (!str_cmp (s, "0") || !ascii_strcasecmp (s, "")) { chain->ch[chain->cl++] = 0; return 0; } @@ -480,7 +485,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 +495,7 @@ void mix_make_chain (LIST ** chainp, int *redraw) *redraw = REDRAW_FULL; - chain = safe_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 +662,8 @@ void mix_make_chain (LIST ** chainp, int *redraw) } mix_free_type2_list (&type2_list); - FREE (&coords); - FREE (&chain); + p_delete(&coords); + p_delete(&chain); } /* some safety checks before piping the message to mixmaster */