}
}
+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;
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)
{
set_option (OPTNEEDRESORT);
}
-void mutt_display_address (ADDRESS *adr)
+void mutt_display_address (ENVELOPE *env)
{
+ char *pfx = NULL;
char buf[SHORT_STRING];
+ ADDRESS *adr = NULL;
+
+ adr = mutt_get_address (env, &pfx);
+
+ if (!adr) return;
buf[0] = 0;
rfc822_write_address (buf, sizeof (buf), adr);
- mutt_message ("%s", buf);
+ mutt_message ("%s: %s", pfx, buf);
}
static void set_copy_flags(HEADER *hdr, int decode, int decrypt, int *cmflags, int *chflags)
case OP_DISPLAY_ADDRESS:
CHECK_MSGCOUNT;
- mutt_display_address (CURHDR->env->from);
+ mutt_display_address (CURHDR->env);
break;
case OP_ENTER_COMMAND:
case OP_DISPLAY_ADDRESS:
CHECK_MODE(IsHeader (extra));
- mutt_display_address (extra->hdr->env->from);
+ mutt_display_address (extra->hdr->env);
break;
case OP_ENTER_COMMAND:
int query_quadoption (int, const char *);
int quadoption (int);
+ADDRESS *mutt_get_address (ENVELOPE *, char **);
ADDRESS *mutt_lookup_alias (const char *s);
ADDRESS *mutt_remove_duplicates (ADDRESS *);
ADDRESS *mutt_expand_aliases (ADDRESS *);
void mutt_create_alias (ENVELOPE *, ADDRESS *);
void mutt_decode_attachment (BODY *, STATE *);
void mutt_default_save (char *, size_t, HEADER *);
-void mutt_display_address (ADDRESS *);
+void mutt_display_address (ENVELOPE *);
void mutt_edit_file (const char *, const char *);
void mutt_edit_headers (const char *, const char *, HEADER *, char *, size_t);
void mutt_curses_error (const char *, ...);