diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 1999-06-10 09:30:39 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 1999-06-10 09:30:39 +0000 |
commit | 9d7a068b02086edc196cd68fea917040ecd428f9 (patch) | |
tree | 9775226a3af13ec30713571644be7b2d59c45fae /alias.c | |
parent | a77113ca0ba02cde2bdddda766130ad4d40718d7 (diff) |
Use the same address with take-alias and display-address.
Diffstat (limited to 'alias.c')
-rw-r--r-- | alias.c | 47 |
1 files changed, 35 insertions, 12 deletions
@@ -152,6 +152,40 @@ static void write_safe_address (FILE *fp, char *s) } } +ADDRESS *mutt_get_address (ENVELOPE *env, char **pfxp) +{ + ADDRESS *adr; + char *pfx = NULL; + + if (mutt_addr_is_user (env->from)) + { + if (env->to && !mutt_is_mail_list (env->to)) + { + pfx = "To"; + adr = env->to; + } + else + { + pfx = "Cc"; + adr = env->cc; + } + } + else if (env->reply_to && !mutt_is_mail_list (env->reply_to)) + { + pfx = "Reply-To"; + adr = env->reply_to; + } + else + { + adr = env->from; + pfx = "From"; + } + + if (pfxp) *pfxp = pfx; + + return adr; +} + void mutt_create_alias (ENVELOPE *cur, ADDRESS *iadr) { ALIAS *new, *t; @@ -161,18 +195,7 @@ void mutt_create_alias (ENVELOPE *cur, ADDRESS *iadr) if (cur) { - if (mutt_addr_is_user (cur->from)) - { - if (cur->to && !mutt_is_mail_list (cur->to)) - adr = cur->to; - else - adr = cur->cc; - } - else if (cur->reply_to && !mutt_is_mail_list (cur->reply_to)) - adr = cur->reply_to; - else - adr = cur->from; - + adr = mutt_get_address (cur, NULL); } else if (iadr) { |