X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=recvattach.c;h=e123884f1096a0068b76cce3deebaa286062997c;hp=f7709158e7d1987fa6a86b9b3e23c3f6437dc1c7;hb=0c12d960399d14b4143b2bb91a96bdaca64e4c56;hpb=d6988dab6bd378ccdf0f17aaa16de8aee1ceaf43 diff --git a/recvattach.c b/recvattach.c index f770915..e123884 100644 --- a/recvattach.c +++ b/recvattach.c @@ -12,8 +12,12 @@ # include "config.h" #endif +#include +#include +#include +#include + #include "mutt.h" -#include "ascii.h" #include "enter.h" #include "handler.h" #include "recvattach.h" @@ -27,9 +31,6 @@ #include "copy.h" #include "mutt_crypt.h" -#include "lib/mem.h" -#include "lib/intl.h" -#include "lib/str.h" #include #include @@ -49,18 +50,20 @@ static char LastSaveFolder[_POSIX_PATH_MAX] = ""; break; \ } +#define SW (option(OPTMBOXPANE)?SidebarWidth:0) + static struct mapping_t AttachHelp[] = { {N_("Exit"), OP_EXIT}, {N_("Save"), OP_SAVE}, {N_("Pipe"), OP_PIPE}, {N_("Print"), OP_PRINT}, {N_("Help"), OP_HELP}, - {NULL} + {NULL, OP_NULL} }; static int mutt_extract_path (char *filename, char *path) { - char *tmp = mem_malloc (sizeof (char) * _POSIX_PATH_MAX); + char *tmp = p_new(char, _POSIX_PATH_MAX); char *help_ptr; help_ptr = tmp; @@ -74,7 +77,7 @@ static int mutt_extract_path (char *filename, char *path) } *help_ptr++ = *filename++; } - mem_free (&tmp); + p_delete(&tmp); return 0; } @@ -99,11 +102,11 @@ void mutt_update_tree (ATTACHPTR ** idx, short idxlen) } if (idx[x]->tree) { - if (str_cmp (idx[x]->tree, buf) != 0) + if (m_strcmp(idx[x]->tree, buf) != 0) str_replace (&idx[x]->tree, buf); } else - idx[x]->tree = str_dup (buf); + idx[x]->tree = m_strdup(buf); if (2 * (idx[x]->level + 2) < sizeof (buf) && idx[x]->level) { s = buf + 2 * (idx[x]->level - 1); @@ -124,7 +127,7 @@ ATTACHPTR **mutt_gen_attach_list (BODY * m, for (; m; m = m->next) { if (*idxlen == *idxmax) { - mem_realloc (&idx, sizeof (ATTACHPTR *) * ((*idxmax) += 5)); + p_realloc(&idx, (*idxmax) += 5); for (i = *idxlen; i < *idxmax; i++) idx[i] = NULL; } @@ -142,7 +145,7 @@ ATTACHPTR **mutt_gen_attach_list (BODY * m, } else { if (!idx[*idxlen]) - idx[*idxlen] = (ATTACHPTR *) mem_calloc (1, sizeof (ATTACHPTR)); + idx[*idxlen] = p_new(ATTACHPTR, 1); new = idx[(*idxlen)++]; new->content = m; @@ -367,7 +370,8 @@ const char *mutt_attach_fmt (char *dest, static void attach_entry (char *b, size_t blen, MUTTMENU * menu, int num) { - mutt_FormatString (b, blen, NONULL (AttachFormat), mutt_attach_fmt, + int w=(COLS-SW)>blen?blen:(COLS-SW); + mutt_FormatString (b, w, NONULL (AttachFormat), mutt_attach_fmt, (unsigned long) (((ATTACHPTR **) menu->data)[num]), M_FORMAT_ARROWCURSOR); } @@ -547,7 +551,7 @@ void mutt_save_attachment_list (FILE * fp, int tag, BODY * top, HEADER * hdr, break; } - mem_free (&directory); + p_delete(&directory); if (tag && menu) { menu->oldcurrent = menu->current; @@ -643,7 +647,7 @@ void mutt_pipe_attachment_list (FILE * fp, int tag, BODY * top, int filter) filter = 0; /* sanity check: we can't filter in the recv case yet */ buf[0] = 0; - memset (&state, 0, sizeof (STATE)); + p_clear(&state, 1); if (mutt_get_field ((filter ? _("Filter through: ") : _("Pipe to: ")), buf, sizeof (buf), M_CMD) != 0 || !buf[0]) @@ -747,7 +751,7 @@ void mutt_print_attachment_list (FILE * fp, int tag, BODY * top) if (!can_print (top, tag)) return; mutt_endwin (NULL); - memset (&state, 0, sizeof (STATE)); + p_clear(&state, 1); thepid = mutt_create_filter (NONULL (PrintCmd), &state.fpout, NULL, NULL); print_attachment_list (fp, tag, top, &state); fclose (state.fpout); @@ -1238,12 +1242,12 @@ void mutt_view_attachments (HEADER * hdr) hdr->attach_del = 1; if (idx[idxmax]->content) idx[idxmax]->content->aptr = NULL; - mem_free (&idx[idxmax]->tree); - mem_free (&idx[idxmax]); + p_delete(&idx[idxmax]->tree); + p_delete(&idx[idxmax]); } if (hdr->attach_del) hdr->changed = 1; - mem_free (&idx); + p_delete(&idx); idxmax = 0; if (WithCrypto && need_secured && secured) {