xterm.c was absurd, no need to put trivial functions like this in a
[apps/madmutt.git] / rfc2231.c
index 81ac735..aa6b071 100644 (file)
--- a/rfc2231.c
+++ b/rfc2231.c
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/ascii.h>
+
 #include "mutt.h"
 #include "mime.h"
 #include "charset.h"
@@ -142,7 +146,7 @@ void rfc2231_decode_parameters (PARAMETER ** headp)
 
       p->attribute = NULL;
       p->value = NULL;
-      FREE (&p);
+      p_delete(&p);
 
       rfc2231_list_insert (&conthead, conttmp);
     }
@@ -161,15 +165,15 @@ void rfc2231_decode_parameters (PARAMETER ** headp)
 
 static struct rfc2231_parameter *rfc2231_new_parameter (void)
 {
-  return safe_calloc (sizeof (struct rfc2231_parameter), 1);
+  return p_new(struct rfc2231_parameter, 1);
 }
 
 static void rfc2231_free_parameter (struct rfc2231_parameter **p)
 {
   if (*p) {
-    FREE (&(*p)->attribute);
-    FREE (&(*p)->value);
-    FREE (p);
+    p_delete(&(*p)->attribute);
+    p_delete(&(*p)->value);
+    p_delete(p);
   }
 }
 
@@ -227,7 +231,7 @@ static void rfc2231_list_insert (struct rfc2231_parameter **list,
     q = p;
     p = p->next;
 
-    c = strcmp (par->value, q->value);
+    c = str_cmp (par->value, q->value);
     if ((c > 0) || (c == 0 && par->index >= q->index))
       break;
   }
@@ -266,9 +270,9 @@ static void rfc2231_join_continuations (PARAMETER ** head,
       if (encoded && par->encoded)
         rfc2231_decode_one (par->value, valp);
 
-      vl = mutt_strlen (par->value);
+      vl = m_strlen(par->value);
 
-      safe_realloc (&value, l + vl + 1);
+      p_realloc(&value, l + vl + 1);
       strcpy (value + l, par->value);   /* __STRCPY_CHECKED__ */
       l += vl;
 
@@ -276,13 +280,13 @@ static void rfc2231_join_continuations (PARAMETER ** head,
       rfc2231_free_parameter (&par);
       if ((par = q))
         valp = par->value;
-    } while (par && !strcmp (par->attribute, attribute));
+    } while (par && !str_cmp (par->attribute, attribute));
 
     if (value) {
       if (encoded)
         mutt_convert_string (&value, charset, Charset, M_ICONV_HOOK_FROM);
       *head = mutt_new_parameter ();
-      (*head)->attribute = safe_strdup (attribute);
+      (*head)->attribute = m_strdup(attribute);
       (*head)->value = value;
       head = &(*head)->next;
     }
@@ -311,10 +315,10 @@ int rfc2231_encode_string (char **pd)
 
   if (!Charset || !SendCharset ||
       !(charset = mutt_choose_charset (Charset, SendCharset,
-                                       *pd, mutt_strlen (*pd), &d, &dlen))) {
-    charset = safe_strdup (Charset ? Charset : "unknown-8bit");
+                                       *pd, m_strlen(*pd), &d, &dlen))) {
+    charset = m_strdup(Charset ? Charset : "unknown-8bit");
     d = *pd;
-    dlen = mutt_strlen (d);
+    dlen = m_strlen(d);
   }
 
   if (!mutt_is_us_ascii (charset))
@@ -327,9 +331,9 @@ int rfc2231_encode_string (char **pd)
       ++ext;
 
   if (encode) {
-    e = safe_malloc (dlen + 2 * ext + mutt_strlen (charset) + 3);
+    e = p_new(char, dlen + 2 * ext + m_strlen(charset) + 3);
     sprintf (e, "%s''", charset);       /* __SPRINTF_CHECKED__ */
-    t = e + mutt_strlen (e);
+    t = e + m_strlen(e);
     for (s = d, slen = dlen; slen; s++, slen--)
       if (*s < 0x20 || *s >= 0x7f ||
           strchr (MimeSpecials, *s) || strchr ("*'%", *s)) {
@@ -341,16 +345,16 @@ int rfc2231_encode_string (char **pd)
     *t = '\0';
 
     if (d != *pd)
-      FREE (&d);
-    FREE (pd);
+      p_delete(&d);
+    p_delete(pd);
     *pd = e;
   }
   else if (d != *pd) {
-    FREE (pd);
+    p_delete(pd);
     *pd = d;
   }
 
-  FREE (&charset);
+  p_delete(&charset);
 
   return encode;
 }