use safer p_clear when possible.
[apps/madmutt.git] / mh.c
diff --git a/mh.c b/mh.c
index ee799b3..1b9c7a6 100644 (file)
--- a/mh.c
+++ b/mh.c
@@ -18,6 +18,8 @@
 #endif
 
 #include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
 
 #include "mutt.h"
 #include "mx.h"
@@ -29,9 +31,6 @@
 #include "thread.h"
 #include "hcache.h"
 
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
 #include "lib/debug.h"
 
 #include <sys/stat.h>
@@ -85,7 +84,7 @@ static void mhs_alloc (struct mh_sequences *mhs, int i)
 
   if (i > mhs->max || !mhs->flags) {
     newmax = i + 128;
-    mem_realloc (&mhs->flags, sizeof (mhs->flags[0]) * (newmax + 1));
+    p_realloc(&mhs->flags, newmax + 1);
     for (j = mhs->max + 1; j <= newmax; j++)
       mhs->flags[j] = 0;
 
@@ -186,7 +185,7 @@ int mh_buffy (const char *path)
   int i, r = 0;
   struct mh_sequences mhs;
 
-  memset (&mhs, 0, sizeof (mhs));
+  p_clear(&mhs, 1);
 
   mh_read_sequences (&mhs, path);
   for (i = 0; !r && i <= mhs.max; i++)
@@ -212,7 +211,7 @@ static int mh_mkstemp (CONTEXT * dest, FILE ** fp, char **tgt)
       }
     }
     else {
-      *tgt = str_dup (path);
+      *tgt = m_strdup(path);
       break;
     }
   }
@@ -291,7 +290,7 @@ void mh_update_sequences (CONTEXT * ctx)
 
   struct mh_sequences mhs;
 
-  memset (&mhs, 0, sizeof (mhs));
+  p_clear(&mhs, 1);
 
   snprintf (seq_unseen, sizeof (seq_unseen), "%s:", NONULL (MhUnseen));
   snprintf (seq_replied, sizeof (seq_replied), "%s:", NONULL (MhReplied));
@@ -308,11 +307,11 @@ void mh_update_sequences (CONTEXT * ctx)
   /* first, copy unknown sequences */
   if ((ofp = fopen (sequences, "r"))) {
     while ((buff = mutt_read_line (buff, &s, ofp, &l))) {
-      if (!str_ncmp (buff, seq_unseen, str_len (seq_unseen)))
+      if (!str_ncmp (buff, seq_unseen, m_strlen(seq_unseen)))
         continue;
-      if (!str_ncmp (buff, seq_flagged, str_len (seq_flagged)))
+      if (!str_ncmp (buff, seq_flagged, m_strlen(seq_flagged)))
         continue;
-      if (!str_ncmp (buff, seq_replied, str_len (seq_replied)))
+      if (!str_ncmp (buff, seq_replied, m_strlen(seq_replied)))
         continue;
 
       fprintf (nfp, "%s\n", buff);
@@ -399,17 +398,17 @@ static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen,
   snprintf (sequences, sizeof (sequences), "%s/.mh_sequences", ctx->path);
   if ((ofp = fopen (sequences, "r"))) {
     while ((buff = mutt_read_line (buff, &sz, ofp, &line))) {
-      if (unseen && !strncmp (buff, seq_unseen, str_len (seq_unseen))) {
+      if (unseen && !strncmp (buff, seq_unseen, m_strlen(seq_unseen))) {
         fprintf (nfp, "%s %d\n", buff, n);
         unseen_done = 1;
       }
       else if (flagged
-               && !strncmp (buff, seq_flagged, str_len (seq_flagged))) {
+               && !strncmp (buff, seq_flagged, m_strlen(seq_flagged))) {
         fprintf (nfp, "%s %d\n", buff, n);
         flagged_done = 1;
       }
       else if (replied
-               && !strncmp (buff, seq_replied, str_len (seq_replied))) {
+               && !strncmp (buff, seq_replied, m_strlen(seq_replied))) {
         fprintf (nfp, "%s %d\n", buff, n);
         replied_done = 1;
       }
@@ -641,10 +640,10 @@ static int maildir_parse_entry (CONTEXT * ctx, struct maildir ***last,
 
     if (subdir) {
       snprintf (buf, sizeof (buf), "%s/%s", subdir, fname);
-      h->path = str_dup (buf);
+      h->path = m_strdup(buf);
     }
     else
-      h->path = str_dup (fname);
+      h->path = m_strdup(fname);
 
     entry = p_new(struct maildir, 1);
     entry->h = h;
@@ -844,7 +843,7 @@ static size_t maildir_hcache_keylen (const char *fn)
 {
   const char *p = strchr (fn, ':');
 
-  return p ? (size_t) (p - fn) : str_len (fn);
+  return p ? (size_t) (p - fn) : m_strlen(fn);
 }
 #endif
 
@@ -929,7 +928,7 @@ static int _mh_read_dir (CONTEXT * ctx, const char *subdir)
   int count;
 
 
-  memset (&mhs, 0, sizeof (mhs));
+  p_clear(&mhs, 1);
 
   maildir_update_mtime (ctx);
 
@@ -1010,7 +1009,7 @@ static void maildir_flags (char *dest, size_t destlen, HEADER * hdr)
               hdr->read ? "S" : "", hdr->deleted ? "T" : "",
               NONULL (hdr->maildir_flags));
     if (hdr->maildir_flags)
-      qsort (tmp, str_len (tmp), 1, ch_compar);
+      qsort (tmp, m_strlen(tmp), 1, ch_compar);
     snprintf (dest, destlen, ":2,%s", tmp);
   }
 }
@@ -1064,7 +1063,7 @@ static int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr
     }
     else {
       debug_print (2, ("success.\n"));
-      msg->path = str_dup (path);
+      msg->path = m_strdup(path);
       break;
     }
   }
@@ -1614,7 +1613,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
 
   for (p = md; p; p = p->next) {
     maildir_canon_filename (buf, p->h->path, sizeof (buf));
-    p->canon_fname = str_dup (buf);
+    p->canon_fname = m_strdup(buf);
     hash_insert (fnames, p->canon_fname, p, 0);
   }
 
@@ -1738,7 +1737,7 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
   ctx->mtime_cur = st_cur.st_mtime;
   ctx->mtime = st.st_mtime;
 
-  memset (&mhs, 0, sizeof (mhs));
+  p_clear(&mhs, 1);
 
   md = NULL;
   last = &md;