X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Fmime.c;h=8f10d561bfccbd224148a9c1c8ffa7b5f4287602;hp=4353e4df5c9e820793085930dc33b275447b54a9;hb=16534e98723674fa391e3fc29d2a07ce419c13dd;hpb=774b53097f8c8b62c5101bce8f313d339387a438 diff --git a/lib-mime/mime.c b/lib-mime/mime.c index 4353e4d..8f10d56 100644 --- a/lib-mime/mime.c +++ b/lib-mime/mime.c @@ -22,8 +22,7 @@ * Copyright (C) 1999-2000 Thomas Roessler */ -#include -#include +#include #include "mime.h" @@ -202,9 +201,7 @@ void header_wipe(HEADER *h) p_delete(&h->maildir_flags); p_delete(&h->tree); p_delete(&h->path); -#ifdef MIXMASTER string_list_wipe(&h->chain); -#endif p_delete(&h->data); } @@ -213,6 +210,17 @@ void header_wipe(HEADER *h) /* misc functions */ /****************************************************************************/ +int mutt_is_message_type(BODY *b) +{ + int tok; + + if (b->type != TYPEMESSAGE) + return 0; + + tok = mime_which_token(b->subtype, -1); + return tok == MIME_RFC822 || tok == MIME_NEWS; +} + int mutt_is_text_part(BODY * b) { char *s = b->subtype; @@ -235,64 +243,3 @@ int mutt_is_text_part(BODY * b) } } -#include "mutt.h" - -int url_parse_mailto(ENVELOPE *e, char **body, const char *src) -{ - char *t; - char *tmp; - char *headers; - char *tag, *value; - char scratch[HUGE_STRING]; - - int taglen; - - string_list_t **last = &e->userhdrs; - - if (!(t = strchr (src, ':'))) - return -1; - - if ((tmp = m_strdup(t + 1)) == NULL) - return -1; - - if ((headers = strchr (tmp, '?'))) - *headers++ = '\0'; - - url_decode(tmp); - e->to = rfc822_parse_adrlist(e->to, tmp); - - tag = headers ? strtok (headers, "&") : NULL; - - for (; tag; tag = strtok(NULL, "&")) { - if ((value = strchr (tag, '='))) - *value++ = '\0'; - if (!value || !*value) - continue; - - url_decode (tag); - url_decode (value); - - 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) + strlen(SAFEPFX); - /* mutt_parse_rfc822_line makes some assumptions */ - 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); - /* if $strict_mailto is set, force editing headers to let - * users have a look at what we got */ - if (!option (OPTSTRICTMAILTO)) { - set_option (OPTXMAILTO); - set_option (OPTEDITHDRS); - } - } - } - - p_delete(&tmp); - return 0; -}