X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Fmime.c;h=7c6a4b67a5658afe4238c3cc62659662febf3efa;hp=212c24d04639ad58c59c08ffed8dba6391a4f661;hb=8d5f74a1030b2e5e93027c91c35b7facea2d61be;hpb=0dbe922d4298aed78dcba64b7c770f315a64505e diff --git a/lib-mime/mime.c b/lib-mime/mime.c index 212c24d..7c6a4b6 100644 --- a/lib-mime/mime.c +++ b/lib-mime/mime.c @@ -22,8 +22,6 @@ #include "mime.h" -#include "mutt.h" - #define BOUNDARYLEN 16 const char MimeSpecials[] = "@.,;:<>[]\\\"()?/= \t"; @@ -217,6 +215,9 @@ void header_wipe(HEADER *h) p_delete(&h->data); } + +#include "mutt.h" + int url_parse_mailto(ENVELOPE *e, char **body, const char *src) { char *t; @@ -239,11 +240,11 @@ int url_parse_mailto(ENVELOPE *e, char **body, const char *src) *headers++ = '\0'; url_decode(tmp); - e->to = rfc822_parse_adrlist (e->to, tmp); + e->to = rfc822_parse_adrlist(e->to, tmp); tag = headers ? strtok (headers, "&") : NULL; - for (; tag; tag = strtok (NULL, "&")) { + for (; tag; tag = strtok(NULL, "&")) { if ((value = strchr (tag, '='))) *value++ = '\0'; if (!value || !*value) @@ -252,19 +253,18 @@ int url_parse_mailto(ENVELOPE *e, char **body, const char *src) url_decode (tag); url_decode (value); - if (!ascii_strcasecmp (tag, "body")) { + if (mime_which_token(tag, -1) == MIME_BODY) { if (body) m_strreplace(body, value); - } - else { -#define SAFEPFX (option (OPTSTRICTMAILTO) ? "" : "X-Mailto-") - taglen = m_strlen(tag) + m_strlen(SAFEPFX); + } else { +#define SAFEPFX (option(OPTSTRICTMAILTO) ? "" : "X-Mailto-") + taglen = m_strlen(tag) + strlen(SAFEPFX); /* mutt_parse_rfc822_line makes some assumptions */ - snprintf (scratch, sizeof (scratch), "%s%s: %s", SAFEPFX, tag, value); + snprintf(scratch, sizeof(scratch), "%s%s: %s", SAFEPFX, tag, value); #undef SAVEPFX scratch[taglen] = '\0'; value = vskipspaces(&scratch[taglen + 1]); - last = mutt_parse_rfc822_line (e, NULL, scratch, value, 0, 0, last); + last = mutt_parse_rfc822_line (e, NULL, scratch, value, 0, 0, last); /* if $strict_mailto is set, force editing headers to let * users have a look at what we got */ if (!option (OPTSTRICTMAILTO)) {