always use compressed mode.
[apps/madmutt.git] / gnupgparse.c
index 30e73e2..03bab1a 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 +84,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;
+    ssize_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, safe_strlen (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 +130,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 (!safe_strcmp (p, "pub"));
-        else if (!safe_strcmp (p, "sub"))
+        if (!m_strcmp(p, "pub"));
+        else if (!m_strcmp(p, "sub"))
           *is_subkey = 1;
-        else if (!safe_strcmp (p, "sec"));
-        else if (!safe_strcmp (p, "ssb"))
+        else if (!m_strcmp(p, "sec"));
+        else if (!m_strcmp(p, "ssb"))
           *is_subkey = 1;
-        else if (!safe_strcmp (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;
       }
@@ -204,29 +204,29 @@ static pgp_key_t parse_pub_line (char *buf, int *is_subkey, pgp_key_t k)
         debug_print (2, ("key id: %s\n", p));
 
         if (!(*is_subkey && option (OPTPGPIGNORESUB)))
-          str_replace (&k->keyid, p);
+          m_strreplace(&k->keyid, p);
         break;
 
       }
     case 6:                    /* timestamp (1998-02-28) */
       {
         char tstr[11];
-        struct tm time;
+        struct tm st_time;
 
         debug_print (2, ("time stamp: %s\n", p));
 
         if (!p)
           break;
-        time.tm_sec = 0;
-        time.tm_min = 0;
-        time.tm_hour = 12;
-        strncpy (tstr, p, 11);
+        st_time.tm_sec = 0;
+        st_time.tm_min = 0;
+        st_time.tm_hour = 12;
+        m_strcpy(tstr, sizeof(tstr), p);
         tstr[4] = '\0';
-        time.tm_year = atoi (tstr) - 1900;
+        st_time.tm_year = atoi (tstr) - 1900;
         tstr[7] = '\0';
-        time.tm_mon = (atoi (tstr + 5)) - 1;
-        time.tm_mday = atoi (tstr + 8);
-        k->gen_time = mutt_mktime (&time, 0);
+        st_time.tm_mon = (atoi (tstr + 5)) - 1;
+        st_time.tm_mday = atoi (tstr + 8);
+        k->gen_time = mutt_mktime (&st_time, 0);
         break;
       }
     case 7:                    /* valid for n days */
@@ -246,9 +246,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 = safe_strdup (p);
+        uid->addr = m_strdup(p);
         uid->trust = trust;
         uid->flags |= flags;
         uid->parent = k;
@@ -310,7 +310,7 @@ pgp_key_t pgp_get_candidates (pgp_ring_t keyring, LIST * hints)
   if ((devnull = open ("/dev/null", O_RDWR)) == -1)
     return NULL;
 
-  str_replace (&_chs, Charset);
+  m_strreplace(&_chs, Charset);
 
   thepid = pgp_invoke_list_keys (NULL, &fp, NULL, -1, -1, devnull,
                                  keyring, hints);