X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc2231.c;h=c3986a425b24f46501c85c61ce4be2c48bd9277a;hp=19a4add0dd15b94ce6974bf41114d18b4d9fedd2;hb=4f61fa445bff564984acf29fc91858af0ed2725e;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/rfc2231.c b/rfc2231.c index 19a4add..c3986a4 100644 --- a/rfc2231.c +++ b/rfc2231.c @@ -1,22 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1999-2000 Thomas Roessler * - * This program is free software; you can redistribute it - * and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be - * useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the Free - * Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111, USA. + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ /* @@ -34,11 +22,15 @@ #endif #include "mutt.h" +#include "ascii.h" #include "mime.h" #include "charset.h" +#include "lib/str.h" #include "rfc2047.h" #include "rfc2231.h" +#include "lib/mem.h" + #include #include #include @@ -154,7 +146,7 @@ void rfc2231_decode_parameters (PARAMETER ** headp) p->attribute = NULL; p->value = NULL; - FREE (&p); + mem_free (&p); rfc2231_list_insert (&conthead, conttmp); } @@ -173,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 mem_calloc (sizeof (struct rfc2231_parameter), 1); } static void rfc2231_free_parameter (struct rfc2231_parameter **p) { if (*p) { - FREE (&(*p)->attribute); - FREE (&(*p)->value); - FREE (p); + mem_free (&(*p)->attribute); + mem_free (&(*p)->value); + mem_free (p); } } @@ -239,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; } @@ -278,9 +270,9 @@ static void rfc2231_join_continuations (PARAMETER ** head, if (encoded && par->encoded) rfc2231_decode_one (par->value, valp); - vl = strlen (par->value); + vl = str_len (par->value); - safe_realloc (&value, l + vl + 1); + mem_realloc (&value, l + vl + 1); strcpy (value + l, par->value); /* __STRCPY_CHECKED__ */ l += vl; @@ -288,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 = str_dup (attribute); (*head)->value = value; head = &(*head)->next; } @@ -323,10 +315,10 @@ int rfc2231_encode_string (char **pd) if (!Charset || !SendCharset || !(charset = mutt_choose_charset (Charset, SendCharset, - *pd, strlen (*pd), &d, &dlen))) { - charset = safe_strdup (Charset ? Charset : "unknown-8bit"); + *pd, str_len (*pd), &d, &dlen))) { + charset = str_dup (Charset ? Charset : "unknown-8bit"); d = *pd; - dlen = strlen (d); + dlen = str_len (d); } if (!mutt_is_us_ascii (charset)) @@ -339,9 +331,9 @@ int rfc2231_encode_string (char **pd) ++ext; if (encode) { - e = safe_malloc (dlen + 2 * ext + strlen (charset) + 3); + e = mem_malloc (dlen + 2 * ext + str_len (charset) + 3); sprintf (e, "%s''", charset); /* __SPRINTF_CHECKED__ */ - t = e + strlen (e); + t = e + str_len (e); for (s = d, slen = dlen; slen; s++, slen--) if (*s < 0x20 || *s >= 0x7f || strchr (MimeSpecials, *s) || strchr ("*'%", *s)) { @@ -353,16 +345,16 @@ int rfc2231_encode_string (char **pd) *t = '\0'; if (d != *pd) - FREE (&d); - FREE (pd); + mem_free (&d); + mem_free (pd); *pd = e; } else if (d != *pd) { - FREE (pd); + mem_free (pd); *pd = d; } - FREE (&charset); + mem_free (&charset); return encode; }