X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Frfc2231.c;h=27c9c0e39e46619d3f40f38f163b544da9fd3503;hp=b5a25536ca810eee26eb61bdb7399c500e396627;hb=11ebd35cdf53f877efb11ed1ce9ccb771d2a091c;hpb=01bd0a7410e476abaebf03d820bcf31a5ec4c7c0 diff --git a/lib-mime/rfc2231.c b/lib-mime/rfc2231.c index b5a2553..27c9c0e 100644 --- a/lib-mime/rfc2231.c +++ b/lib-mime/rfc2231.c @@ -36,13 +36,7 @@ * */ -#include -#include -#include - -#include -#include -#include +#include #include @@ -134,10 +128,10 @@ rfc2231_list_insert(rfc2231_param **list, rfc2231_param *par) *list = par; } -static void purge_empty_parameters(PARAMETER **headp) +static void purge_empty_parameters(parameter_t **headp) { while (*headp) { - PARAMETER *p = *headp; + parameter_t *p = *headp; if (!p->attribute || !p->value) { p = parameter_list_pop(headp); @@ -151,7 +145,7 @@ static void purge_empty_parameters(PARAMETER **headp) /* process continuation parameters */ /* XXX: MC: not read */ static void -rfc2231_join_continuations(PARAMETER **head, rfc2231_param *par) +rfc2231_join_continuations(parameter_t **head, rfc2231_param *par) { rfc2231_param *q; @@ -181,7 +175,7 @@ rfc2231_join_continuations(PARAMETER **head, rfc2231_param *par) vl = m_strlen(par->value); p_realloc(&value, l + vl + 1); - strcpy (value + l, par->value); /* __STRCPY_CHECKED__ */ + m_strcpy(value + l, vl + 1, par->value); l += vl; q = par->next; @@ -192,7 +186,7 @@ rfc2231_join_continuations(PARAMETER **head, rfc2231_param *par) if (value) { if (encoded) - mutt_convert_string (&value, charset, Charset, M_ICONV_HOOK_FROM); + mutt_convert_string (&value, charset, mod_cset.charset, M_ICONV_HOOK_FROM); *head = parameter_new(); (*head)->attribute = m_strdup(attribute); (*head)->value = value; @@ -206,11 +200,11 @@ rfc2231_join_continuations(PARAMETER **head, rfc2231_param *par) /****************************************************************************/ /* XXX: MC: not read */ -void rfc2231_decode_parameters (PARAMETER ** headp) +void rfc2231_decode_parameters (parameter_t ** headp) { - PARAMETER *head = NULL; - PARAMETER **last; - PARAMETER *p, *q; + parameter_t *head = NULL; + parameter_t **last; + parameter_t *p, *q; rfc2231_param *conthead = NULL; rfc2231_param *conttmp; @@ -239,10 +233,10 @@ void rfc2231_decode_parameters (PARAMETER ** headp) * Internet Gateways. So we actually decode it. */ - if (option (OPTRFC2047PARAMS) && p->value && strstr (p->value, "=?")) - rfc2047_decode (&p->value); - else if (!option (OPTSTRICTMIME)) { - if (mime_which_token(AssumedCharset, -1) == MIME_US_ASCII) + if (p->value && strstr(p->value, "=?")) { + rfc2047_decode(&p->value); + } else { + if (mime_which_token(mod_cset.assumed_charset, -1) == MIME_US_ASCII) mutt_convert_nonmime_string(&p->value); } @@ -255,7 +249,7 @@ void rfc2231_decode_parameters (PARAMETER ** headp) s = rfc2231_get_charset (p->value, charset, sizeof (charset)); rfc2231_decode_one (p->value, s); - mutt_convert_string (&p->value, charset, Charset, M_ICONV_HOOK_FROM); + mutt_convert_string (&p->value, charset, mod_cset.charset, M_ICONV_HOOK_FROM); *last = p; last = &p->next; @@ -319,13 +313,13 @@ int rfc2231_encode_string(char **s) return 0; } - if (Charset && SendCharset) { - charset = mutt_choose_charset(Charset, SendCharset, + if (mod_cset.charset && mod_cset.send_charset) { + charset = mutt_choose_charset(mod_cset.charset, mod_cset.send_charset, *s, m_strlen(*s), &d, &dlen); } if (!charset) { - charset = m_strdup(Charset ? Charset : "unknown-8bit"); + charset = m_strdup(mod_cset.charset ?: "unknown-8bit"); d = *s; dlen = m_strlen(d); }