oops, makedoc is used in the build process.
[apps/madmutt.git] / compose.c
index 9e0ebcc..b46050e 100644 (file)
--- a/compose.c
+++ b/compose.c
@@ -15,6 +15,8 @@
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "mutt_curses.h"
@@ -39,7 +41,6 @@
 #include "nntp.h"
 #endif
 
-#include "lib/mem.h"
 #include "lib/intl.h"
 #include "lib/str.h"
 
@@ -90,7 +91,7 @@ enum {
 #define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
 #define W               (COLS - HDR_XOFFSET - SW)
 
-static char *Prompts[] = {
+static const char *Prompts[] = {
   "From: ",
   "To: ",
   "Cc: ",
@@ -115,7 +116,7 @@ static struct mapping_t ComposeHelp[] = {
   {N_("Attach file"), OP_COMPOSE_ATTACH_FILE},
   {N_("Descrip"), OP_COMPOSE_EDIT_DESCRIPTION},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 
 #ifdef USE_NNTP
@@ -127,7 +128,7 @@ static struct mapping_t ComposeNewsHelp[] = {
   {N_("Attach file"), OP_COMPOSE_ATTACH_FILE},
   {N_("Descrip"), OP_COMPOSE_EDIT_DESCRIPTION},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 #endif
 
@@ -207,7 +208,7 @@ static void redraw_crypt_lines (HEADER * msg)
 static void redraw_mix_line (LIST * chain)
 {
   int c;
-  char *t;
+  const char *t;
 
   mvaddstr (HDR_MIX, SW, "         Mix: ");
 
@@ -338,7 +339,7 @@ static int edit_address_list (int line, ADDRESS ** addr)
   if (mutt_addrlist_to_idna (*addr, &err) != 0) {
     mutt_error (_("Warning: '%s' is a bad IDN."), err);
     mutt_refresh ();
-    mem_free (&err);
+    p_delete(&err);
   }
 
   /* redraw the expanded list so the user can see the result */
@@ -374,8 +375,8 @@ static int delete_attachment (MUTTMENU * menu, short *idxlen, int x)
   idx[x]->content->next = NULL;
   idx[x]->content->parts = NULL;
   mutt_free_body (&(idx[x]->content));
-  mem_free (&idx[x]->tree);
-  mem_free (&idx[x]);
+  p_delete(&idx[x]->tree);
+  p_delete(&idx[x]);
   for (; x < *idxlen - 1; x++)
     idx[x] = idx[x + 1];
   menu->max = --(*idxlen);
@@ -618,7 +619,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           buf[0] = 0;
         if (mutt_get_field ("Newsgroups: ", buf, sizeof (buf), 0) == 0
             && buf[0]) {
-          mem_free (&msg->env->newsgroups);
+          p_delete(&msg->env->newsgroups);
           str_skip_trailws (buf);
           msg->env->newsgroups = str_dup (str_skip_initws (buf));
           move (HDR_TO, HDR_XOFFSET);
@@ -636,7 +637,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           strfcpy (buf, msg->env->followup_to, sizeof (buf));
         if (mutt_get_field ("Followup-To: ", buf, sizeof (buf), 0) == 0
             && buf[0]) {
-          mem_free (&msg->env->followup_to);
+          p_delete(&msg->env->followup_to);
           str_skip_trailws (buf);
           msg->env->followup_to = str_dup (str_skip_initws (buf));
           move (HDR_CC, HDR_XOFFSET);
@@ -654,7 +655,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           strfcpy (buf, msg->env->x_comment_to, sizeof (buf));
         if (mutt_get_field ("X-Comment-To: ", buf, sizeof (buf), 0) == 0
             && buf[0]) {
-          mem_free (&msg->env->x_comment_to);
+          p_delete(&msg->env->x_comment_to);
           msg->env->x_comment_to = str_dup (buf);
           move (HDR_BCC, HDR_XOFFSET);
           clrtoeol ();
@@ -708,14 +709,14 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       if (str_cmp ("builtin", Editor) != 0 &&
           (op == OP_COMPOSE_EDIT_HEADERS ||
            (op == OP_COMPOSE_EDIT_MESSAGE && option (OPTEDITHDRS)))) {
-        char *tag = NULL, *err = NULL;
+        const char *tag = NULL, *err = NULL;
 
         mutt_env_to_local (msg->env);
         mutt_edit_headers (NONULL (Editor), msg->content->filename, msg,
                            fcc, fcclen);
         if (mutt_env_to_idna (msg->env, &tag, &err)) {
           mutt_error (_("Bad IDN in \"%s\": '%s'"), tag, err);
-          mem_free (&err);
+          p_delete(&err);
         }
       }
       else {
@@ -730,7 +731,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       /* attachments may have been added */
       if (idxlen && idx[idxlen - 1]->content->next) {
         for (i = 0; i < idxlen; i++)
-          mem_free (&idx[i]);
+          p_delete(&idx[i]);
         idxlen = 0;
         idx =
           mutt_gen_attach_list (msg->content, -1, idx, &idxlen, &idxmax, 0,
@@ -749,18 +750,18 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       if (!(WithCrypto & APPLICATION_PGP))
         break;
       if (idxlen == idxmax) {
-        mem_realloc (&idx, sizeof (ATTACHPTR *) * (idxmax += 5));
+        p_realloc(&idx, idxmax += 5);
         menu->data = idx;
       }
 
-      idx[idxlen] = (ATTACHPTR *) mem_calloc (1, sizeof (ATTACHPTR));
+      idx[idxlen] = p_new(ATTACHPTR, 1);
       if ((idx[idxlen]->content =
            crypt_pgp_make_key_attachment (NULL)) != NULL) {
         update_idx (menu, idx, idxlen++);
         menu->redraw |= REDRAW_INDEX;
       }
       else
-        mem_free (&idx[idxlen]);
+        p_delete(&idx[idxlen]);
 
       menu->redraw |= REDRAW_STATUS;
 
@@ -789,8 +790,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           break;
 
         if (idxlen + numfiles >= idxmax) {
-          mem_realloc (&idx,
-                        sizeof (ATTACHPTR *) * (idxmax += 5 + numfiles));
+          p_realloc(&idx, idxmax += 5 + numfiles);
           menu->data = idx;
         }
 
@@ -801,7 +801,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         for (i = 0; i < numfiles; i++) {
           char *att = files[i];
 
-          idx[idxlen] = (ATTACHPTR *) mem_calloc (1, sizeof (ATTACHPTR));
+          idx[idxlen] = p_new(ATTACHPTR, 1);
           idx[idxlen]->unowned = 1;
           idx[idxlen]->content = mutt_make_file_attach (att);
           if (idx[idxlen]->content != NULL)
@@ -809,11 +809,11 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           else {
             error = 1;
             mutt_error (_("Unable to attach %s!"), att);
-            mem_free (&idx[idxlen]);
+            p_delete(&idx[idxlen]);
           }
         }
 
-        mem_free (&files);
+        p_delete(&files);
         if (!error)
           mutt_clear_error ();
 
@@ -889,7 +889,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
 
         if (!ctx->msgcount) {
           mx_close_mailbox (ctx, NULL);
-          mem_free (&ctx);
+          p_delete(&ctx);
           mutt_error _("No messages in that folder.");
 
           break;
@@ -917,23 +917,21 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         }
 
         if (idxlen + Context->tagged >= idxmax) {
-          mem_realloc (&idx,
-                        sizeof (ATTACHPTR *) * (idxmax +=
-                                                5 + Context->tagged));
+          p_realloc(&idx, idxmax += 5 + Context->tagged);
           menu->data = idx;
         }
 
         for (i = 0; i < Context->msgcount; i++) {
           h = Context->hdrs[i];
           if (h->tagged) {
-            idx[idxlen] = (ATTACHPTR *) mem_calloc (1, sizeof (ATTACHPTR));
+            idx[idxlen] = p_new(ATTACHPTR, 1);
             idx[idxlen]->content = mutt_make_message_attach (Context, h, 1);
             if (idx[idxlen]->content != NULL)
               update_idx (menu, idx, idxlen++);
             else {
               mutt_error _("Unable to attach!");
 
-              mem_free (&idx[idxlen]);
+              p_delete(&idx[idxlen]);
             }
           }
         }
@@ -943,7 +941,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           mx_close_mailbox (Context, NULL);
         else
           mx_fastclose_mailbox (Context);
-        mem_free (&Context);
+        p_delete(&Context);
 
         /* go back to the folder we started from */
         Context = this;
@@ -1191,15 +1189,15 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           continue;
         }
         if (idxlen == idxmax) {
-          mem_realloc (&idx, sizeof (ATTACHPTR *) * (idxmax += 5));
+          p_realloc(&idx, idxmax += 5);
           menu->data = idx;
         }
 
-        idx[idxlen] = (ATTACHPTR *) mem_calloc (1, sizeof (ATTACHPTR));
+        idx[idxlen] = p_new(ATTACHPTR, 1);
         /* Touch the file */
         if (!(fp = safe_fopen (fname, "w"))) {
           mutt_error (_("Can't create file %s"), fname);
-          mem_free (&idx[idxlen]);
+          p_delete(&idx[idxlen]);
           continue;
         }
         fclose (fp);
@@ -1285,10 +1283,10 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           if (idx[idxlen]->unowned)
             idx[idxlen]->content->unlink = 0;
           mutt_free_body (&idx[idxlen]->content);
-          mem_free (&idx[idxlen]->tree);
-          mem_free (&idx[idxlen]);
+          p_delete(&idx[idxlen]->tree);
+          p_delete(&idx[idxlen]);
         }
-        mem_free (&idx);
+        p_delete(&idx);
         idxlen = 0;
         idxmax = 0;
         r = -1;
@@ -1420,13 +1418,13 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
     msg->content = idx[0]->content;
     for (i = 0; i < idxlen; i++) {
       idx[i]->content->aptr = NULL;
-      mem_free (&idx[i]);
+      p_delete(&idx[i]);
     }
   }
   else
     msg->content = NULL;
 
-  mem_free (&idx);
+  p_delete(&idx);
 
   return (r);
 }