X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc2231.c;h=0f9a2f53880be05b40ab0e65e5897ca47365644c;hp=81ac7351d1924e8f2d4070ca124e2cfd94b487e5;hb=238b70e39b78f585c586bd51aef41988b3cc73d1;hpb=841934011451205d8295ac955486f06c317fdf15 diff --git a/rfc2231.c b/rfc2231.c index 81ac735..0f9a2f5 100644 --- a/rfc2231.c +++ b/rfc2231.c @@ -21,6 +21,10 @@ # include "config.h" #endif +#include +#include +#include + #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); } } @@ -183,7 +187,7 @@ static char *rfc2231_get_charset (char *value, char *charset, size_t chslen) } *t = '\0'; - strfcpy (charset, value, chslen); + m_strcpy(charset, chslen, value); if ((u = strchr (t + 1, '\''))) return u + 1; @@ -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 = m_strcmp(par->value, q->value); if ((c > 0) || (c == 0 && par->index >= q->index)) break; } @@ -255,7 +259,7 @@ static void rfc2231_join_continuations (PARAMETER ** head, value = NULL; l = 0; - strfcpy (attribute, par->attribute, sizeof (attribute)); + m_strcpy(attribute, sizeof(attribute), par->attribute); if ((encoded = par->encoded)) valp = rfc2231_get_charset (par->value, charset, sizeof (charset)); @@ -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 && !m_strcmp(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; }