revamp lib.[hc] functions into lib-lib/file.[hc].
[apps/madmutt.git] / recvattach.c
index 30bcb49..885c528 100644 (file)
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/file.h>
+
 #include "mutt.h"
-#include "ascii.h"
 #include "enter.h"
 #include "handler.h"
 #include "recvattach.h"
@@ -27,9 +32,6 @@
 #include "copy.h"
 #include "mutt_crypt.h"
 
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
 
 #include <ctype.h>
 #include <stdlib.h>
@@ -57,12 +59,12 @@ static struct mapping_t AttachHelp[] = {
   {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;
@@ -76,7 +78,7 @@ static int mutt_extract_path (char *filename, char *path)
     }
     *help_ptr++ = *filename++;
   }
-  mem_free (&tmp);
+  p_delete(&tmp);
   return 0;
 }
 
@@ -101,11 +103,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);
@@ -126,7 +128,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;
     }
@@ -144,7 +146,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;
@@ -407,8 +409,8 @@ static int mutt_query_save_attachment (FILE * fp, BODY * body, HEADER * hdr,
 
   if (body->filename) {
     if (directory && *directory)
-      mutt_concat_path (buf, *directory, mutt_basename (body->filename),
-                        sizeof (buf));
+      mutt_concat_path(buf, sizeof(buf), *directory,
+                       mutt_basename(body->filename));
     else
       strfcpy (buf, body->filename, sizeof (buf));
   }
@@ -550,7 +552,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;
@@ -646,7 +648,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])
@@ -750,7 +752,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);
@@ -993,7 +995,7 @@ void mutt_view_attachments (HEADER * hdr)
   attach_collapse (cur, 0, 1, 0);
   mutt_update_attach_index (cur, &idx, &idxlen, &idxmax, menu);
 
-  FOREVER {
+  for (;;) {
     if (op == OP_NULL)
       op = mutt_menuLoop (menu);
     switch (op) {
@@ -1241,12 +1243,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) {