X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fmessages.c;h=6e9b087290c537b4f34a50a3eff26e61ac674372;hb=6a38faea03a78f287bc248dd6ae405d7f1e579f4;hp=049b1f10f7cb29adc23d2e46d9c2b8e3bfeb4681;hpb=484251b23e90aa7a65640263079d2246568538b6;p=citadel.git diff --git a/webcit/messages.c b/webcit/messages.c index 049b1f10f..6e9b08729 100644 --- a/webcit/messages.c +++ b/webcit/messages.c @@ -1289,6 +1289,7 @@ void display_enter(void) int recipient_bad = 0; int is_anonymous = 0; wcsession *WCC = WC; + int i = 0; now = time(NULL); @@ -1355,15 +1356,25 @@ void display_enter(void) long replying_to = lbstr("replying_to"); if (replying_to > 0) { char wefw[1024] = ""; - char msgn[1024] = ""; + char msgn[256] = ""; + char from[256] = ""; + char node[256] = ""; + char rfca[256] = ""; serv_printf("MSG0 %ld|1", replying_to); serv_getln(buf, sizeof buf); if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { if ( (!strncasecmp(buf, "subj=", 5)) && (strlen(buf) > 5) ) { StrBuf *subj = NewStrBuf(); - if (strncasecmp(&buf[5], "Re:", 3)) { - StrBufAppendBufPlain(subj, HKEY("Re: "), 0); + if (!strcasecmp(bstr("replying_mode"), "forward")) { + if (strncasecmp(&buf[5], "Fw:", 3)) { + StrBufAppendBufPlain(subj, HKEY("Fw: "), 0); + } + } + else { + if (strncasecmp(&buf[5], "Re:", 3)) { + StrBufAppendBufPlain(subj, HKEY("Re: "), 0); + } } StrBufAppendBufPlain(subj, &buf[5], -1, 0); PutBstr(HKEY("subject"), subj); @@ -1386,6 +1397,21 @@ void display_enter(void) safestrncpy(msgn, &buf[5], sizeof msgn); } + else if (!strncasecmp(buf, "from=", 5)) { + safestrncpy(from, &buf[5], sizeof from); + for (i=0; i", from, rfca); + } + else { + StrBufAppendPrintf(to_rcpt, "%s", from); + if ( (!IsEmptyStr(node)) + && (strcasecmp(node, ChrPtr(WC->serv_info->serv_nodename))) + ) { + StrBufAppendPrintf(to_rcpt, " @ %s", node); + } + } + PutBstr(HKEY("recp"), to_rcpt); + } } /*