X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=send.c;h=f5ffa26cc46e6bc714fe721b41c402e733f19f98;hp=ed87f4bd88675096e79f2b1e9ccd3a14784fe312;hb=22116d7063ab4d7de33946d74ab8b9cbc0f3f6ef;hpb=8336b26fc23c7943bf6681ba2c290bb5cd2c54b8 diff --git a/send.c b/send.c index ed87f4b..f5ffa26 100644 --- a/send.c +++ b/send.c @@ -27,10 +27,7 @@ #include #endif -#ifdef MIXMASTER #include "remailer.h" -#endif - static void append_signature (FILE * f) { @@ -606,7 +603,7 @@ void mutt_make_misc_reply_headers (ENVELOPE * env, if (curenv->real_subj) { p_delete(&env->subject); env->subject = p_new(char, m_strlen(curenv->real_subj) + 5); - sprintf (env->subject, "Re: %s", curenv->real_subj); /* __SPRINTF_CHECKED__ */ + sprintf (env->subject, "Re: %s", curenv->real_subj); } else if (!env->subject) env->subject = m_strdup("Re: your mail"); @@ -852,62 +849,59 @@ static int generate_body (FILE * tempfp, /* stream for outgoing message * void mutt_set_followup_to (ENVELOPE * e) { - address_t *from; - - /* - * Only generate the Mail-Followup-To if the user has requested it, and - * it hasn't already been set - */ + /* + * Only generate the Mail-Followup-To if the user has requested it, and + * it hasn't already been set + */ + if (!option(OPTFOLLOWUPTO)) + return; - if (!option (OPTFOLLOWUPTO)) - return; #ifdef USE_NNTP - if (option (OPTNEWSSEND)) { - if (!e->followup_to && e->newsgroups && (strrchr (e->newsgroups, ','))) - e->followup_to = m_strdup(e->newsgroups); - return; - } + if (option(OPTNEWSSEND)) { + if (!e->followup_to && e->newsgroups && strrchr(e->newsgroups, ',')) + e->followup_to = m_strdup(e->newsgroups); + return; + } #endif - if (!e->mail_followup_to) { + if (e->mail_followup_to) + return; + if (mutt_is_list_cc (0, e->to, e->cc)) { - address_t **tmp; - /* - * this message goes to known mailing lists, so create a proper - * mail-followup-to header - */ + address_t **tmp; - tmp = address_list_append(&e->mail_followup_to, address_list_dup(e->to)); - address_list_append(tmp, address_list_dup(e->cc)); + /* + * this message goes to known mailing lists, so create a proper + * mail-followup-to header + */ + tmp = address_list_append(&e->mail_followup_to, address_list_dup(e->to)); + address_list_append(tmp, address_list_dup(e->cc)); } /* remove ourselves from the mail-followup-to header */ - e->mail_followup_to = remove_user (e->mail_followup_to, 0); + e->mail_followup_to = remove_user(e->mail_followup_to, 0); /* * If we are not subscribed to any of the lists in question, - * re-add ourselves to the mail-followup-to header. The + * re-add ourselves to the mail-followup-to header. The * mail-followup-to header generated is a no-op with group-reply, * but makes sure list-reply has the desired effect. */ + if (e->mail_followup_to && !mutt_is_list_recipient(0, e->to, e->cc)) { + address_t *from; - if (e->mail_followup_to && !mutt_is_list_recipient (0, e->to, e->cc)) { - if (e->reply_to) - from = address_list_dup (e->reply_to); - else if (e->from) - from = address_list_dup (e->from); - else - from = mutt_default_from (); + if (e->reply_to) + from = address_list_dup(e->reply_to); + else if (e->from) + from = address_list_dup(e->from); + else + from = mutt_default_from(); - if (from) { - address_list_append(&from->next, e->mail_followup_to); + address_list_append(&from, e->mail_followup_to); e->mail_followup_to = from; - } } address_list_uniq(e->mail_followup_to); - - } } @@ -916,50 +910,48 @@ void mutt_set_followup_to (ENVELOPE * e) from field */ static address_t *set_reverse_name (ENVELOPE * env) { - address_t *tmp; + address_t *tmp; - for (tmp = env->to; tmp; tmp = tmp->next) { - if (mutt_addr_is_user (tmp)) - break; - } - if (!tmp) { + for (tmp = env->to; tmp; tmp = tmp->next) { + if (mutt_addr_is_user(tmp)) + goto found; + } for (tmp = env->cc; tmp; tmp = tmp->next) { - if (mutt_addr_is_user (tmp)) - break; + if (mutt_addr_is_user(tmp)) + goto found; } - } - if (!tmp && mutt_addr_is_user (env->from)) - tmp = env->from; - if (tmp) { - tmp = address_dup (tmp); - if (!option (OPTREVREAL)) - p_delete(&tmp->personal); - if (!tmp->personal) - tmp->personal = m_strdup(Realname); - } - return (tmp); + + if (!mutt_addr_is_user(env->from)) + return NULL; + + found: + tmp = address_dup(tmp); + if (!option(OPTREVREAL) || !tmp->personal) { + p_delete(&tmp->personal); + tmp->personal = m_strdup(Realname); + } + return tmp; } address_t *mutt_default_from (void) { address_t *adr; - const char *fqdn = mutt_fqdn (1); - /* - * Note: We let $from override $realname here. Is this the right - * thing to do? + /* + * Note: We let $from override $realname here. + * Is this the right thing to do? */ if (From) - adr = address_dup (From); + adr = address_dup(From); else if (option (OPTUSEDOMAIN)) { - adr = address_new (); + const char *fqdn = mutt_fqdn (1); + adr = address_new(); adr->mailbox = p_new(char, m_strlen(Username) + m_strlen(fqdn) + 2); - sprintf (adr->mailbox, "%s@%s", NONULL (Username), NONULL (fqdn)); /* __SPRINTF_CHECKED__ */ - } - else { + sprintf(adr->mailbox, "%s@%s", NONULL(Username), NONULL(fqdn)); + } else { adr = address_new (); - adr->mailbox = m_strdup(NONULL (Username)); + adr->mailbox = m_strdup(NONULL(Username)); } return (adr); @@ -976,14 +968,8 @@ static int send_message (HEADER * msg) if (!tempfp) return -1; -#ifdef MIXMASTER mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 : 0); -#endif -#ifndef MIXMASTER - mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0); -#endif - fputc ('\n', tempfp); /* tie off the header. */ if ((mutt_write_mime_body (msg->content, tempfp) == -1)) { @@ -998,10 +984,8 @@ static int send_message (HEADER * msg) return (-1); } -#ifdef MIXMASTER if (msg->chain) return mix_send_message (msg->chain, tempfile); -#endif i = mutt_invoke_mta (msg->env->from, msg->env->to, msg->env->cc, msg->env->bcc, tempfile, @@ -1054,7 +1038,7 @@ int mutt_resend_message (FILE * fp, CONTEXT * ctx, HEADER * cur) { HEADER *msg = header_new(); - if (mutt_prepare_template (fp, ctx, msg, cur, 1) < 0) + if (mutt_prepare_template (fp, ctx, msg, cur, option(OPTWEED)) < 0) return -1; return ci_send_message (SENDRESEND, msg, NULL, ctx, cur);