diff options
author | Eduardo Chappa <chappa@washington.edu> | 2013-02-05 00:59:30 -0700 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2013-02-08 21:03:59 -0700 |
commit | 640d8845bffdf13007a10929ad0f18375a9a2473 (patch) | |
tree | 2c3fa0bb9b5dfc435dbde151cedf7b4f8b7b6660 /pith/reply.c | |
parent | dc6c0f8d846e14fc6841516ad772553fc5975bd6 (diff) | |
download | alpine-640d8845bffdf13007a10929ad0f18375a9a2473.tar.xz |
* Add color options for folders and index screen.
* Add silent token to display filter
* Add option to preserve To: and Cc: fields on replies.
Diffstat (limited to 'pith/reply.c')
-rw-r--r-- | pith/reply.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/pith/reply.c b/pith/reply.c index 03468af3..3445097f 100644 --- a/pith/reply.c +++ b/pith/reply.c @@ -373,20 +373,37 @@ reply_seed(struct pine *ps, ENVELOPE *outgoing, ENVELOPE *env, /* Put Reply-To or From in To. */ *to_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->to, (ADDRESS *) NULL, saved_from, RCA_ALL); - /* and the rest in cc */ if(replytoall){ - *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, + if(ps->preserve){ + while(*to_tail) + to_tail = &(*to_tail)->next; + + *to_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->to, + (ADDRESS *) NULL, saved_to, RCA_ALL); + + while(*to_tail) + to_tail = &(*to_tail)->next; + + *to_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, + outgoing->to, saved_resent, RCA_ALL); + + *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, + outgoing->to, saved_cc, RCA_ALL); + } + else{ /* and the rest in cc */ + *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, outgoing->to, saved_to, RCA_ALL); - while(*cc_tail) /* stay on last address */ - cc_tail = &(*cc_tail)->next; + while(*cc_tail) /* stay on last address */ + cc_tail = &(*cc_tail)->next; - *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, + *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, outgoing->to, saved_cc, RCA_ALL); - while(*cc_tail) - cc_tail = &(*cc_tail)->next; + while(*cc_tail) + cc_tail = &(*cc_tail)->next; - *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, + *cc_tail = reply_cp_addr(ps, 0, NULL, NULL, outgoing->cc, outgoing->to, saved_resent, RCA_ALL); + } } } else if(saved_to){ |