macros to create usual functions : new/delete and init/wipe.
[apps/madmutt.git] / gnupgparse.c
index cf58ab6..a05d2da 100644 (file)
 #include <time.h>
 #include <ctype.h>
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "pgp.h"
 #include "charset.h"
 
 /* for hexval */
-#include "mime.h"
 
-#include "lib/mem.h"
-#include "lib/str.h"
 #include "lib/debug.h"
 
 /****************
@@ -84,22 +86,22 @@ static void fix_uid (char *uid)
   if (_chs && (cd = mutt_iconv_open (_chs, "utf-8", 0)) != (iconv_t) - 1) {
     int n = s - uid + 1;        /* chars available in original buffer */
     char *buf;
-    ICONV_CONST char *ib;
+    const char *ib;
     char *ob;
     size_t ibl, obl;
 
-    buf = safe_malloc (n + 1);
+    buf = p_new(char, n + 1);
     ib = uid, ibl = d - uid + 1, ob = buf, obl = n;
-    iconv (cd, &ib, &ibl, &ob, &obl);
+    my_iconv(cd, &ib, &ibl, &ob, &obl);
     if (!ibl) {
       if (ob - buf < n) {
         memcpy (uid, buf, ob - buf);
         uid[ob - buf] = '\0';
       }
-      else if (ob - buf == n && (buf[n] = 0, str_len (buf) < n))
+      else if (ob - buf == n && (buf[n] = 0, m_strlen(buf) < n))
         memcpy (uid, buf, n);
     }
-    FREE (&buf);
+    p_delete(&buf);
     iconv_close (cd);
   }
 }
@@ -130,19 +132,19 @@ static pgp_key_t parse_pub_line (char *buf, int *is_subkey, pgp_key_t k)
       {
         debug_print (2, ("record type: %s\n", p));
 
-        if (!str_cmp (p, "pub"));
-        else if (!str_cmp (p, "sub"))
+        if (!m_strcmp(p, "pub"));
+        else if (!m_strcmp(p, "sub"))
           *is_subkey = 1;
-        else if (!str_cmp (p, "sec"));
-        else if (!str_cmp (p, "ssb"))
+        else if (!m_strcmp(p, "sec"));
+        else if (!m_strcmp(p, "ssb"))
           *is_subkey = 1;
-        else if (!str_cmp (p, "uid"))
+        else if (!m_strcmp(p, "uid"))
           is_uid = 1;
         else
           return NULL;
 
         if (!(is_uid || (*is_subkey && option (OPTPGPIGNORESUB))))
-          k = safe_calloc (sizeof *k, 1);
+          k = pgp_new_keyinfo();
 
         break;
       }
@@ -220,7 +222,7 @@ static pgp_key_t parse_pub_line (char *buf, int *is_subkey, pgp_key_t k)
         time.tm_sec = 0;
         time.tm_min = 0;
         time.tm_hour = 12;
-        strncpy (tstr, p, 11);
+        m_strcpy(tstr, sizeof(tstr), p);
         tstr[4] = '\0';
         time.tm_year = atoi (tstr) - 1900;
         tstr[7] = '\0';
@@ -246,9 +248,9 @@ static pgp_key_t parse_pub_line (char *buf, int *is_subkey, pgp_key_t k)
 
         debug_print (2, ("user ID: %s\n", p));
 
-        uid = safe_calloc (sizeof (pgp_uid_t), 1);
+        uid = p_new(pgp_uid_t, 1);
         fix_uid (p);
-        uid->addr = str_dup (p);
+        uid->addr = m_strdup(p);
         uid->trust = trust;
         uid->flags |= flags;
         uid->parent = k;