X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fmsg_renderers.c;h=187753b2cd02ee67730b1c12ecd988f5950bc3e8;hb=HEAD;hp=a4784b39f0fe3cf632fddec1b6eff219ee993496;hpb=c6aec42f213ec284e34648f3d69bcf927dccddb1;p=citadel.git diff --git a/webcit/msg_renderers.c b/webcit/msg_renderers.c index a4784b39f..c32661081 100644 --- a/webcit/msg_renderers.c +++ b/webcit/msg_renderers.c @@ -1,5 +1,5 @@ #include "webcit.h" -#include "webserver.h" + #include "dav.h" CtxType CTX_MAILSUM = CTX_NONE; @@ -10,7 +10,8 @@ HashList *DflMsgHeaderHandler = NULL; HashList *DflEnumMsgHeaderHandler = NULL; -static inline void CheckConvertBufs(struct wcsession *WCC) { +static inline void CheckConvertBufs(struct wcsession *WCC) +{ if (WCC->ConvertBuf1 == NULL) WCC->ConvertBuf1 = NewStrBuf(); if (WCC->ConvertBuf2 == NULL) @@ -22,7 +23,8 @@ static inline void CheckConvertBufs(struct wcsession *WCC) { */ -void DestroyMimeParts(wc_mime_attachment * Mime) { +void DestroyMimeParts(wc_mime_attachment *Mime) +{ FreeStrBuf(&Mime->Name); FreeStrBuf(&Mime->FileName); FreeStrBuf(&Mime->PartNum); @@ -32,14 +34,16 @@ void DestroyMimeParts(wc_mime_attachment * Mime) { FreeStrBuf(&Mime->Data); } -void DestroyMime(void *vMime) { - wc_mime_attachment *Mime = (wc_mime_attachment *) vMime; +void DestroyMime(void *vMime) +{ + wc_mime_attachment *Mime = (wc_mime_attachment*)vMime; DestroyMimeParts(Mime); free(Mime); } -void DestroyMessageSummary(void *vMsg) { - message_summary *Msg = (message_summary *) vMsg; +void DestroyMessageSummary(void *vMsg) +{ + message_summary *Msg = (message_summary*) vMsg; FreeStrBuf(&Msg->from); FreeStrBuf(&Msg->to); @@ -59,11 +63,13 @@ void DestroyMessageSummary(void *vMsg) { free(Msg); } -int EvaluateMsgHdrEnum(eMessageField f, message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +int EvaluateMsgHdrEnum(eMessageField f, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ void *vHdr; - headereval *Hdr = NULL; - if (GetHash(DflEnumMsgHeaderHandler, IKEY(f), &vHdr) && (vHdr != NULL)) { - Hdr = (headereval *) vHdr; + headereval* Hdr = NULL; + if (GetHash(DflEnumMsgHeaderHandler, IKEY(f), &vHdr) && + (vHdr != NULL)) { + Hdr = (headereval*)vHdr; } if (Hdr == NULL) return -1; @@ -71,16 +77,19 @@ int EvaluateMsgHdrEnum(eMessageField f, message_summary * Msg, StrBuf * HdrLine, return Hdr->Type; } -int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ void *vHdr; - headereval *Hdr = NULL; + headereval* Hdr = NULL; if (HdrNLen == 4) { - if (GetHash(DflMsgHeaderHandler, HeaderName, HdrNLen, &vHdr) && (vHdr != NULL)) { - Hdr = (headereval *) vHdr; + if (GetHash(DflMsgHeaderHandler, HeaderName, HdrNLen, &vHdr) && + (vHdr != NULL)) { + Hdr = (headereval*)vHdr; } } - if (Hdr == NULL && GetHash(MsgHeaderHandler, HeaderName, HdrNLen, &vHdr) && (vHdr != NULL)) { - Hdr = (headereval *) vHdr; + if (Hdr == NULL && GetHash(MsgHeaderHandler, HeaderName, HdrNLen, &vHdr) && + (vHdr != NULL)) { + Hdr = (headereval*)vHdr; } if (Hdr == NULL) return -1; @@ -88,9 +97,10 @@ int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary * Msg, return Hdr->Type; } -void RegisterMsgHdr(const char *HeaderName, long HdrNLen, ExamineMsgHeaderFunc evaluator, int type) { +void RegisterMsgHdr(const char *HeaderName, long HdrNLen, ExamineMsgHeaderFunc evaluator, int type) +{ headereval *ev; - ev = (headereval *) malloc(sizeof(headereval)); + ev = (headereval*) malloc(sizeof(headereval)); ev->evaluator = evaluator; ev->Type = type; @@ -105,10 +115,14 @@ void RegisterMsgHdr(const char *HeaderName, long HdrNLen, ExamineMsgHeaderFunc e Put(MsgHeaderHandler, HeaderName, HdrNLen, ev, NULL); } -void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, RenderMimeFunc MimeRenderer, int InlineRenderable, int Priority) { +void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, + RenderMimeFunc MimeRenderer, + int InlineRenderable, + int Priority) +{ RenderMimeFuncStruct *f; - f = (RenderMimeFuncStruct *) malloc(sizeof(RenderMimeFuncStruct)); + f = (RenderMimeFuncStruct*) malloc(sizeof(RenderMimeFuncStruct)); f->f = MimeRenderer; Put(MimeRenderHandler, HeaderName, HdrNLen, f, NULL); if (InlineRenderable) @@ -124,14 +138,12 @@ int longcmp_r(const void *s1, const void *s2) { long l1; long l2; - l1 = *(long *) GetSearchPayload(s1); - l2 = *(long *) GetSearchPayload(s2); + l1 = *(long *)GetSearchPayload(s1); + l2 = *(long *)GetSearchPayload(s2); - if (l1 > l2) - return (-1); - if (l1 < l2) - return (+1); - return (0); + if (l1 > l2) return(-1); + if (l1 < l2) return(+1); + return(0); } /* @@ -141,23 +153,21 @@ int qlongcmp_r(const void *s1, const void *s2) { long l1 = (long) s1; long l2 = (long) s2; - if (l1 > l2) - return (-1); - if (l1 < l2) - return (+1); - return (0); + if (l1 > l2) return(-1); + if (l1 < l2) return(+1); + return(0); } - + /* * comparator for message summary structs by ascending subject. */ int summcmp_subj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ1->subj), ChrPtr(summ2->subj)); } @@ -167,21 +177,20 @@ int summcmp_subj(const void *s1, const void *s2) { int summcmp_rsubj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ2->subj), ChrPtr(summ1->subj)); } - /* * comparator for message summary structs by descending subject. */ int groupchange_subj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) s1; - summ2 = (message_summary *) s2; + + summ1 = (message_summary *)s1; + summ2 = (message_summary *)s2; return ChrPtr(summ2->subj)[0] != ChrPtr(summ1->subj)[0]; } @@ -191,9 +200,9 @@ int groupchange_subj(const void *s1, const void *s2) { int summcmp_sender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ1->from), ChrPtr(summ2->from)); } @@ -203,21 +212,20 @@ int summcmp_sender(const void *s1, const void *s2) { int summcmp_rsender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ2->from), ChrPtr(summ1->from)); } - /* * comparator for message summary structs by descending sender. */ int groupchange_sender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; - - summ1 = (message_summary *) s1; - summ2 = (message_summary *) s2; + + summ1 = (message_summary *)s1; + summ2 = (message_summary *)s2; return strcasecmp(ChrPtr(summ2->from), ChrPtr(summ1->from)) != 0; } @@ -228,16 +236,13 @@ int groupchange_sender(const void *s1, const void *s2) { int summcmp_date(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); - - if (summ1->date < summ2->date) - return -1; - else if (summ1->date > summ2->date) - return +1; - else - return 0; + if (summ1->date < summ2->date) return -1; + else if (summ1->date > summ2->date) return +1; + else return 0; } /* @@ -246,16 +251,13 @@ int summcmp_date(const void *s1, const void *s2) { int summcmp_rdate(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; + + summ1 = (message_summary *)GetSearchPayload(s1); + summ2 = (message_summary *)GetSearchPayload(s2); - summ1 = (message_summary *) GetSearchPayload(s1); - summ2 = (message_summary *) GetSearchPayload(s2); - - if (summ1->date < summ2->date) - return +1; - else if (summ1->date > summ2->date) - return -1; - else - return 0; + if (summ1->date < summ2->date) return +1; + else if (summ1->date > summ2->date) return -1; + else return 0; } /* @@ -265,77 +267,91 @@ const long DAYSECONDS = 24 * 60 * 60; int groupchange_date(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; + + summ1 = (message_summary *)s1; + summ2 = (message_summary *)s2; - summ1 = (message_summary *) s1; - summ2 = (message_summary *) s2; - - return (summ1->date % DAYSECONDS) != (summ2->date % DAYSECONDS); + return (summ1->date % DAYSECONDS) != (summ2->date %DAYSECONDS); } /* Stub handlers for MIME parser */ -void examine_pref(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { - return; -} -void examine_suff(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { - return; -} -void examine_path(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { - return; -} - -void examine_content_encoding(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_pref(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} +void examine_suff(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} +void examine_path(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} +void examine_content_encoding(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ /* nothing to do here */ } -void examine_exti(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { - +void examine_exti(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ /* nothing to do here */ } -void examine_nhdr(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_nhdr(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ Msg->nhdr = 0; if (!strncasecmp(ChrPtr(HdrLine), "yes", 8)) Msg->nhdr = 1; } -int Conditional_ANONYMOUS_MESSAGE(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_ANONYMOUS_MESSAGE(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->nhdr != 0; } -void examine_type(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_type(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ Msg->format_type = StrToi(HdrLine); - + } -void examine_from(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_from(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ CheckConvertBufs(WC); FreeStrBuf(&Msg->from); Msg->from = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->from, HdrLine, WC->DefaultCharset, FoundCharset, WC->ConvertBuf1, WC->ConvertBuf2); -} -void tmplput_MAIL_SUMM_FROM(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); + StrBuf_RFC822_2_Utf8(Msg->from, + HdrLine, + WC->DefaultCharset, + FoundCharset, + WC->ConvertBuf1, + WC->ConvertBuf2); +} +void tmplput_MAIL_SUMM_FROM(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->from, 0); } -void examine_subj(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_subj(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ CheckConvertBufs(WC); FreeStrBuf(&Msg->subj); Msg->subj = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->subj, HdrLine, WC->DefaultCharset, FoundCharset, WC->ConvertBuf1, WC->ConvertBuf2); -} -void tmplput_MAIL_SUMM_SUBJECT(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); - - if (TP->Tokens->nParameters == 4) { + StrBuf_RFC822_2_Utf8(Msg->subj, + HdrLine, + WC->DefaultCharset, + FoundCharset, + WC->ConvertBuf1, + WC->ConvertBuf2); +} +void tmplput_MAIL_SUMM_SUBJECT(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); + + if (TP->Tokens->nParameters == 4) + { const char *pch; long len; - + GetTemplateTokenString(Target, TP, 3, &pch, &len); - if ((len > 0) && (strstr(ChrPtr(Msg->subj), pch) == NULL)) { + if ((len > 0)&& + (strstr(ChrPtr(Msg->subj), pch) == NULL)) + { GetTemplateTokenString(Target, TP, 2, &pch, &len); StrBufAppendBufPlain(Target, pch, len, 0); } @@ -346,8 +362,8 @@ void tmplput_MAIL_SUMM_SUBJECT(StrBuf * Target, WCTemplputParams * TP) { /* * Conditional returns true if the message has a Subject and it is nonzero in length */ -int Conditional_MAIL_SUMM_SUBJECT(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_SUBJECT(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->subj) > 0; } @@ -355,13 +371,13 @@ int Conditional_MAIL_SUMM_SUBJECT(StrBuf * Target, WCTemplputParams * TP) { /* * Conditional returns true if the message originated on the local system */ -int Conditional_MAIL_LOCAL(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_LOCAL(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return (Msg->is_local ? 1 : 0); } -void examine_msgn(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_msgn(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { long Offset = 0; const char *pOffset; @@ -373,23 +389,28 @@ void examine_msgn(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset Offset = pOffset - ChrPtr(HdrLine); } Msg->reply_inreplyto_hash = ThreadIdHashOffset(HdrLine, Offset); - StrBuf_RFC822_2_Utf8(Msg->reply_inreplyto, HdrLine, WC->DefaultCharset, FoundCharset, WC->ConvertBuf1, WC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->reply_inreplyto, + HdrLine, + WC->DefaultCharset, + FoundCharset, + WC->ConvertBuf1, + WC->ConvertBuf2); } -void tmplput_MAIL_SUMM_INREPLYTO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_INREPLYTO(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->reply_inreplyto, 0); } -int Conditional_MAIL_SUMM_UNREAD(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_UNREAD(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return (Msg->Flags & MSGFLAG_READ) != 0; } -void examine_wefw(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_wefw(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; long Offset = 0; const char *pOffset; @@ -402,23 +423,33 @@ void examine_wefw(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset Offset = pOffset - ChrPtr(HdrLine); } Msg->reply_references_hash = ThreadIdHashOffset(HdrLine, Offset); - StrBuf_RFC822_2_Utf8(Msg->reply_references, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->reply_references, + HdrLine, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); } -void tmplput_MAIL_SUMM_REFIDS(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_REFIDS(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->reply_references, 0); } -void examine_replyto(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_replyto(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->ReplyTo); Msg->ReplyTo = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->ReplyTo, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->ReplyTo, + HdrLine, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { @@ -428,19 +459,24 @@ void examine_replyto(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundChar } -void tmplput_MAIL_SUMM_REPLYTO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_REPLYTO(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->ReplyTo, 0); } -void examine_cccc(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_cccc(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->cccc); Msg->cccc = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->cccc, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->cccc, + HdrLine, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { @@ -450,78 +486,89 @@ void examine_cccc(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset } -void tmplput_MAIL_SUMM_CCCC(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_CCCC(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->cccc, 0); } -void examine_room(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { - if ((StrLength(HdrLine) > 0) && (strcasecmp(ChrPtr(HdrLine), ChrPtr(WC->CurRoom.name)))) { +void examine_room(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { + if ((StrLength(HdrLine) > 0) && + (strcasecmp(ChrPtr(HdrLine), ChrPtr(WC->CurRoom.name)))) { FreeStrBuf(&Msg->Room); - Msg->Room = NewStrBufDup(HdrLine); + Msg->Room = NewStrBufDup(HdrLine); } } -void tmplput_MAIL_SUMM_ORGROOM(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_ORGROOM(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->Room, 0); } -void examine_rfca(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_rfca(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { FreeStrBuf(&Msg->Rfca); Msg->Rfca = NewStrBufDup(HdrLine); } -void examine_locl(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_locl(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->is_local = 1; } -void tmplput_MAIL_SUMM_RFCA(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_RFCA(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->Rfca, 0); } -int Conditional_MAIL_SUMM_RFCA(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_RFCA(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->Rfca) > 0; } -int Conditional_MAIL_SUMM_CCCC(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_CCCC(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->cccc) > 0; } -int Conditional_MAIL_SUMM_REPLYTO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_REPLYTO(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->ReplyTo) > 0; } -void examine_nvto(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_nvto(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->EnvTo); Msg->EnvTo = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->EnvTo, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->EnvTo, + HdrLine, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); } -void examine_rcpt(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_rcpt(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->to); Msg->to = NewStrBufPlain(NULL, StrLength(HdrLine)); - StrBuf_RFC822_2_Utf8(Msg->to, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Msg->to, + HdrLine, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { @@ -531,80 +578,84 @@ void examine_rcpt(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset } -void tmplput_MAIL_SUMM_TO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_TO(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->to, 0); } -int Conditional_MAIL_SUMM_TO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_TO(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->to) != 0; } -int Conditional_MAIL_SUMM_SUBJ(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_SUMM_SUBJ(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->subj) != 0; } -void tmplput_MAIL_SUMM_ALLRCPT(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_ALLRCPT(StrBuf *Target, WCTemplputParams *TP) { + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->AllRcpt, 0); } -void tmplput_SUMM_COUNT(StrBuf * Target, WCTemplputParams * TP) { - StrBufAppendPrintf(Target, "%d", GetCount(WC->summ)); +void tmplput_SUMM_COUNT(StrBuf *Target, WCTemplputParams *TP) { + StrBufAppendPrintf(Target, "%d", GetCount( WC->summ)); } -HashList *iterate_get_mailsumm_All(StrBuf * Target, WCTemplputParams * TP) { +HashList *iterate_get_mailsumm_All(StrBuf *Target, WCTemplputParams *TP) { return WC->summ; } -void examine_time(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_time(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->date = StrTol(HdrLine); } -void tmplput_MAIL_SUMM_DATE_BRIEF(StrBuf * Target, WCTemplputParams * TP) { +void tmplput_MAIL_SUMM_DATE_BRIEF(StrBuf *Target, WCTemplputParams *TP) +{ char datebuf[64]; - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_BRIEF); StrBufAppendBufPlain(Target, datebuf, -1, 0); } -void tmplput_MAIL_SUMM_EUID(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_EUID(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->euid, 0); } -void tmplput_MAIL_SUMM_DATE_FULL(StrBuf * Target, WCTemplputParams * TP) { +void tmplput_MAIL_SUMM_DATE_FULL(StrBuf *Target, WCTemplputParams *TP) +{ char datebuf[64]; - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_FULL); StrBufAppendBufPlain(Target, datebuf, -1, 0); } -void tmplput_MAIL_SUMM_DATE_NO(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_DATE_NO(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", Msg->date, 0); } -void render_MAIL(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset) { +void render_MAIL(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) +{ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); const StrBuf *TemplateMime; - if (Mime->Data == NULL) + if (Mime->Data == NULL) Mime->Data = NewStrBufPlain(NULL, Mime->length); - else + else FlushStrBuf(Mime->Data); read_message(Mime->Data, HKEY("view_submessage"), Mime->msgnum, Mime->PartNum, &TemplateMime, TP); - /* if ( (!IsEmptyStr(mime_submessages)) && (!section[0]) ) { for (i=0; iData) == 0) { MimeLoadData(Mime); @@ -630,32 +682,43 @@ void render_MIME_ICS(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundChars -void examine_mime_part(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_mime_part(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ const char *Ptr = NULL; wc_mime_attachment *Mime; StrBuf *Buf; wcsession *WCC = WC; - CheckConvertBufs(WCC); - Mime = (wc_mime_attachment *) malloc(sizeof(wc_mime_attachment)); + CheckConvertBufs(WCC); + Mime = (wc_mime_attachment*) malloc(sizeof(wc_mime_attachment)); memset(Mime, 0, sizeof(wc_mime_attachment)); Mime->msgnum = Msg->msgnum; Buf = NewStrBuf(); Mime->Name = NewStrBuf(); StrBufExtract_NextToken(Buf, HdrLine, &Ptr, '|'); - StrBuf_RFC822_2_Utf8(Mime->Name, Buf, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Mime->Name, + Buf, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); StrBufTrim(Mime->Name); StrBufExtract_NextToken(Buf, HdrLine, &Ptr, '|'); Mime->FileName = NewStrBuf(); - StrBuf_RFC822_2_Utf8(Mime->FileName, Buf, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); + StrBuf_RFC822_2_Utf8(Mime->FileName, + Buf, + WCC->DefaultCharset, + FoundCharset, + WCC->ConvertBuf1, + WCC->ConvertBuf2); StrBufTrim(Mime->FileName); Mime->PartNum = NewStrBuf(); StrBufExtract_NextToken(Mime->PartNum, HdrLine, &Ptr, '|'); StrBufTrim(Mime->PartNum); - if (strchr(ChrPtr(Mime->PartNum), '.') != NULL) + if (strchr(ChrPtr(Mime->PartNum), '.') != NULL) Mime->level = 2; else Mime->level = 1; @@ -668,18 +731,19 @@ void examine_mime_part(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCh StrBufTrim(Mime->ContentType); StrBufLowerCase(Mime->ContentType); if (!strcmp(ChrPtr(Mime->ContentType), "application/octet-stream")) { - StrBufPlain(Mime->ContentType, GuessMimeByFilename(SKEY(Mime->FileName)), -1); + StrBufPlain(Mime->ContentType, + GuessMimeByFilename(SKEY(Mime->FileName)), -1); } Mime->length = StrBufExtractNext_int(HdrLine, &Ptr, '|'); - StrBufSkip_NTokenS(HdrLine, &Ptr, '|', 1); /* cbid?? */ + StrBufSkip_NTokenS(HdrLine, &Ptr, '|', 1); /* cbid?? */ Mime->Charset = NewStrBuf(); StrBufExtract_NextToken(Mime->Charset, HdrLine, &Ptr, '|'); - if ((StrLength(Mime->FileName) == 0) && (StrLength(Mime->Name) > 0)) { + if ( (StrLength(Mime->FileName) == 0) && (StrLength(Mime->Name) > 0) ) { StrBufAppendBuf(Mime->FileName, Mime->Name, 0); } @@ -692,69 +756,85 @@ void examine_mime_part(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCh } if (Msg->AllAttach == NULL) - Msg->AllAttach = NewHash(1, NULL); + Msg->AllAttach = NewHash(1,NULL); Put(Msg->AllAttach, SKEY(Mime->PartNum), Mime, DestroyMime); FreeStrBuf(&Buf); } -void evaluate_mime_part(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void evaluate_mime_part(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); void *vMimeRenderer; /* just print the root-node */ - if ((Mime->level >= 1) && GetHash(MimeRenderHandler, SKEY(Mime->ContentType), &vMimeRenderer) && vMimeRenderer != NULL) { - Mime->Renderer = (RenderMimeFuncStruct *) vMimeRenderer; + if ((Mime->level >= 1) && + GetHash(MimeRenderHandler, SKEY(Mime->ContentType), &vMimeRenderer) && + vMimeRenderer != NULL) + { + Mime->Renderer = (RenderMimeFuncStruct*) vMimeRenderer; if (Msg->Submessages == NULL) - Msg->Submessages = NewHash(1, NULL); + Msg->Submessages = NewHash(1,NULL); Put(Msg->Submessages, SKEY(Mime->PartNum), Mime, reference_free_handler); } - else if ((Mime->level >= 1) && (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) - && (!strncasecmp(ChrPtr(Mime->ContentType), "image/", 6))) { + else if ((Mime->level >= 1) && + (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) + && (!strncasecmp(ChrPtr(Mime->ContentType), "image/", 6)) ){ if (Msg->AttachLinks == NULL) - Msg->AttachLinks = NewHash(1, NULL); + Msg->AttachLinks = NewHash(1,NULL); Put(Msg->AttachLinks, SKEY(Mime->PartNum), Mime, reference_free_handler); } - else if ((Mime->level >= 1) && (StrLength(Mime->ContentType) > 0) && ((!strcasecmp(ChrPtr(Mime->Disposition), "attachment")) - || (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) - || (!strcasecmp(ChrPtr(Mime->Disposition), "")))) { + else if ((Mime->level >= 1) && + (StrLength(Mime->ContentType) > 0) && + ( (!strcasecmp(ChrPtr(Mime->Disposition), "attachment")) + || (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) + || (!strcasecmp(ChrPtr(Mime->Disposition), "")))) + { if (Msg->AttachLinks == NULL) - Msg->AttachLinks = NewHash(1, NULL); + Msg->AttachLinks = NewHash(1,NULL); Put(Msg->AttachLinks, SKEY(Mime->PartNum), Mime, reference_free_handler); - if ((strcasecmp(ChrPtr(Mime->ContentType), "application/octet-stream") == 0) && (StrLength(Mime->FileName) > 0)) { + if ((strcasecmp(ChrPtr(Mime->ContentType), "application/octet-stream") == 0) && + (StrLength(Mime->FileName) > 0)) { FlushStrBuf(Mime->ContentType); - StrBufAppendBufPlain(Mime->ContentType, GuessMimeByFilename(SKEY(Mime->FileName)), -1, 0); + StrBufAppendBufPlain(Mime->ContentType, + GuessMimeByFilename(SKEY(Mime->FileName)), + -1, 0); } } } -void tmplput_MAIL_SUMM_NATTACH(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_NATTACH(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", GetCount(Msg->Attachments)); } -void examine_text(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_text(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ if (Msg->MsgBody->Data == NULL) Msg->MsgBody->Data = NewStrBufPlain(NULL, SIZ); else FlushStrBuf(Msg->MsgBody->Data); } -void examine_msg4_partnum(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_msg4_partnum(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ Msg->MsgBody->PartNum = NewStrBufDup(HdrLine); StrBufTrim(Msg->MsgBody->PartNum); } -void examine_content_lengh(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_content_lengh(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ Msg->MsgBody->length = StrTol(HdrLine); Msg->MsgBody->size_known = 1; } -void examine_content_type(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_content_type(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ StrBuf *Token; StrBuf *Value; - const char *sem; + const char* sem; const char *eq; int len; StrBufTrim(HdrLine); @@ -768,7 +848,7 @@ void examine_content_type(message_summary * Msg, StrBuf * HdrLine, StrBuf * Foun StrBufCutAt(Msg->MsgBody->ContentType, len, NULL); while (sem != NULL) { while (isspace(*(sem + 1))) - sem++; + sem ++; StrBufCutLeft(HdrLine, sem - ChrPtr(HdrLine)); sem = strchr(ChrPtr(HdrLine), ';'); if (sem != NULL) @@ -781,7 +861,7 @@ void examine_content_type(message_summary * Msg, StrBuf * HdrLine, StrBuf * Foun eq = strchr(ChrPtr(Token), '='); if (eq != NULL) { len = eq - ChrPtr(Token); - StrBufAppendBufPlain(Value, eq + 1, StrLength(Token) - len - 1, 0); + StrBufAppendBufPlain(Value, eq + 1, StrLength(Token) - len - 1, 0); StrBufCutAt(Token, len, NULL); StrBufTrim(Value); } @@ -796,38 +876,45 @@ void examine_content_type(message_summary * Msg, StrBuf * HdrLine, StrBuf * Foun } -int ReadOneMessageSummary(message_summary * Msg, StrBuf * FoundCharset, StrBuf * Buf) { +int ReadOneMessageSummary(message_summary *Msg, StrBuf *FoundCharset, StrBuf *Buf) +{ const char *buf; const char *ebuf; int nBuf; long len; - + serv_printf("MSG0 %ld|1", Msg->msgnum); /* ask for headers only */ - + StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { return 0; } - while (len = StrBuf_ServGetln(Buf), (len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000"))) { + while (len = StrBuf_ServGetln(Buf), + (len >= 0) && + ((len != 3) || + strcmp(ChrPtr(Buf), "000"))) + { buf = ChrPtr(Buf); ebuf = strchr(ChrPtr(Buf), '='); nBuf = ebuf - buf; - + if (EvaluateMsgHdr(buf, nBuf, Msg, Buf, FoundCharset) < 0) syslog(LOG_INFO, "Don't know how to handle Message Headerline [%s]", ChrPtr(Buf)); } return 1; } -void tmplput_MAIL_SUMM_N(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_N(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", Msg->msgnum); } -void tmplput_MAIL_SUMM_PERMALINK(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_SUMM_PERMALINK(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBuf *perma_link; const StrBuf *View; @@ -845,29 +932,34 @@ void tmplput_MAIL_SUMM_PERMALINK(StrBuf * Target, WCTemplputParams * TP) { } -int Conditional_MAIL_MIME_ALL(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_MIME_ALL(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->Attachments) > 0; } -int Conditional_MAIL_MIME_SUBMESSAGES(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_MIME_SUBMESSAGES(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->Submessages) > 0; } -int Conditional_MAIL_MIME_ATTACHLINKS(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_MIME_ATTACHLINKS(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->AttachLinks) > 0; } -int Conditional_MAIL_MIME_ATTACH(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +int Conditional_MAIL_MIME_ATTACH(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->AllAttach) > 0; } -void tmplput_QUOTED_MAIL_BODY(StrBuf * Target, WCTemplputParams * TP) { +void tmplput_QUOTED_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) +{ const StrBuf *Mime; - long MsgNum; + long MsgNum; StrBuf *Buf; MsgNum = LBstr(TKEY(0)); @@ -877,9 +969,10 @@ void tmplput_QUOTED_MAIL_BODY(StrBuf * Target, WCTemplputParams * TP) { FreeStrBuf(&Buf); } -void tmplput_EDIT_MAIL_BODY(StrBuf * Target, WCTemplputParams * TP) { +void tmplput_EDIT_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) +{ const StrBuf *Mime; - long MsgNum; + long MsgNum; StrBuf *Buf; MsgNum = LBstr(TKEY(0)); @@ -889,9 +982,10 @@ void tmplput_EDIT_MAIL_BODY(StrBuf * Target, WCTemplputParams * TP) { FreeStrBuf(&Buf); } -void tmplput_EDIT_WIKI_BODY(StrBuf * Target, WCTemplputParams * TP) { +void tmplput_EDIT_WIKI_BODY(StrBuf *Target, WCTemplputParams *TP) +{ const StrBuf *Mime; - long msgnum; + long msgnum; StrBuf *Buf; /* Insert the existing content of the wiki page into the editor. But we only want @@ -913,13 +1007,15 @@ void tmplput_EDIT_WIKI_BODY(StrBuf * Target, WCTemplputParams * TP) { } } -void tmplput_MAIL_BODY(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +void tmplput_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->MsgBody->Data, 0); } -void render_MAIL_variformat(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset) { +void render_MAIL_variformat(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) +{ /* Messages in legacy Citadel variformat get handled thusly... */ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); StrBuf *TTarget = NewStrBufPlain(NULL, StrLength(Mime->Data)); @@ -928,7 +1024,8 @@ void render_MAIL_variformat(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou Mime->Data = TTarget; } -void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset) { +void render_MAIL_text_plain(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) +{ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); const char *ptr, *pte; const char *BufPtr = NULL; @@ -945,7 +1042,7 @@ void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou #ifdef HAVE_ICONV StrBuf *cs = NULL; int ConvertIt = 1; - iconv_t ic = (iconv_t) (-1); + iconv_t ic = (iconv_t)(-1) ; #endif if ((StrLength(Mime->Data) == 0) && (Mime->length > 0)) { @@ -972,9 +1069,9 @@ void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou } else { ctdl_iconv_open("UTF-8", ChrPtr(cs), &ic); - if (ic == (iconv_t) (-1)) { + if (ic == (iconv_t)(-1) ) { syslog(LOG_WARNING, "%s:%d iconv_open(UTF-8, %s) failed: %s\n", - __FILE__, __LINE__, ChrPtr(Mime->Charset), strerror(errno)); + __FILE__, __LINE__, ChrPtr(Mime->Charset), strerror(errno)); } } } @@ -985,36 +1082,39 @@ void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou TTarget = NewStrBufPlain(NULL, StrLength(Mime->Data)); Linecount = 0; nEmptyLines = 0; - if (StrLength(Mime->Data) > 0) - do { + if (StrLength(Mime->Data) > 0) + do + { StrBufSipLine(Line, Mime->Data, &BufPtr); bq = 0; i = 0; ptr = ChrPtr(Line); len = StrLength(Line); pte = ptr + len; - - while ((ptr < pte) && ((*ptr == '>') || isspace(*ptr))) { + + while ((ptr < pte) && + ((*ptr == '>') || + isspace(*ptr))) + { if (*ptr == '>') bq++; - ptr++; + ptr ++; i++; } - if (i > 0) - StrBufCutLeft(Line, i); - + if (i > 0) StrBufCutLeft(Line, i); + if (StrLength(Line) == 0) { if (Linecount == 0) continue; StrBufAppendBufPlain(TTarget, HKEY("
\n"), 0); - nEmptyLines++; + nEmptyLines ++; continue; } nEmptyLines = 0; - for (i = bn; i < bq; i++) + for (i = bn; i < bq; i++) StrBufAppendBufPlain(TTarget, HKEY("
"), 0); - for (i = bq; i < bn; i++) + for (i = bq; i < bn; i++) StrBufAppendBufPlain(TTarget, HKEY("
"), 0); #ifdef HAVE_ICONV if (ConvertIt) { @@ -1027,18 +1127,19 @@ void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou StrEscAppend(TTarget, Line1, NULL, 0, 0); StrBufAppendBufPlain(TTarget, HKEY("
\n"), 0); bn = bq; - Linecount++; + Linecount ++; } - while ((BufPtr != StrBufNOTNULL) && (BufPtr != NULL)); + while ((BufPtr != StrBufNOTNULL) && + (BufPtr != NULL)); if (nEmptyLines > 0) - StrBufCutRight(TTarget, nEmptyLines * (sizeof("
\n") - 1)); - for (i = 0; i < bn; i++) + StrBufCutRight(TTarget, nEmptyLines * (sizeof ("
\n") - 1)); + for (i = 0; i < bn; i++) StrBufAppendBufPlain(TTarget, HKEY(""), 0); StrBufAppendBufPlain(TTarget, HKEY("
"), 0); #ifdef HAVE_ICONV - if (ic != (iconv_t) (-1)) { + if (ic != (iconv_t)(-1) ) { iconv_close(ic); } #endif @@ -1054,7 +1155,8 @@ void render_MAIL_text_plain(StrBuf * Target, WCTemplputParams * TP, StrBuf * Fou FreeStrBuf(&Line2); } -void render_MAIL_html(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset) { +void render_MAIL_html(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) +{ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); StrBuf *Buf; @@ -1064,13 +1166,17 @@ void render_MAIL_html(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundChar Buf = NewStrBufPlain(NULL, StrLength(Mime->Data)); /* HTML is fun, but we've got to strip it first */ - output_html(ChrPtr(Mime->Charset), (WC->CurRoom.view == VIEW_WIKI ? 1 : 0), Mime->msgnum, Mime->Data, Buf); + output_html(ChrPtr(Mime->Charset), + (WC->CurRoom.view == VIEW_WIKI ? 1 : 0), + Mime->msgnum, + Mime->Data, Buf); FreeStrBuf(&Mime->Data); Mime->Data = Buf; } -void render_MAIL_UNKNOWN(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset) { +void render_MAIL_UNKNOWN(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) +{ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); /* Unknown weirdness */ FlushStrBuf(Mime->Data); @@ -1080,148 +1186,173 @@ void render_MAIL_UNKNOWN(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundC } -HashList *iterate_get_mime_All(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +HashList *iterate_get_mime_All(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->Attachments; } -HashList *iterate_get_mime_Submessages(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +HashList *iterate_get_mime_Submessages(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->Submessages; } -HashList *iterate_get_mime_AttachLinks(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +HashList *iterate_get_mime_AttachLinks(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->AttachLinks; } -HashList *iterate_get_mime_Attachments(StrBuf * Target, WCTemplputParams * TP) { - message_summary *Msg = (message_summary *) CTX(CTX_MAILSUM); +HashList *iterate_get_mime_Attachments(StrBuf *Target, WCTemplputParams *TP) +{ + message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->AllAttach; } -void tmplput_MIME_Name(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_Name(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Name, 0); } -void tmplput_MIME_FileName(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_FileName(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->FileName, 0); } -void tmplput_MIME_PartNum(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_PartNum(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->PartNum, 0); } -void tmplput_MIME_MsgNum(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_MsgNum(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendPrintf(Target, "%ld", mime->msgnum); } -void tmplput_MIME_Disposition(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_Disposition(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Disposition, 0); } -void tmplput_MIME_ContentType(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_ContentType(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->ContentType, 0); } -void examine_charset(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset) { +void examine_charset(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) +{ Msg->MsgBody->Charset = NewStrBufDup(HdrLine); } -void tmplput_MIME_Charset(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_Charset(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Charset, 0); } -void tmplput_MIME_Data(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_Data(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); if (mime->Renderer != NULL) mime->Renderer->f(Target, TP, NULL); StrBufAppendTemplate(Target, TP, mime->Data, 0); /* TODO: check whether we need to load it now? */ } -void tmplput_MIME_LoadData(StrBuf * Target, WCTemplputParams * TP) { - wcsession *WCC = WC; - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_LoadData(StrBuf *Target, WCTemplputParams *TP) +{ + wcsession *WCC = WC; + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); wc_mime_attachment *att; - - if (((!strcasecmp(ChrPtr(mime->Disposition), "inline")) || - (!strcasecmp(ChrPtr(mime->Disposition), "attachment"))) && - (strcasecmp(ChrPtr(mime->ContentType), "application/ms-tnef") != 0)) { - - int n; - char N[64]; - /* steal this mime part... */ - att = malloc(sizeof(wc_mime_attachment)); - memcpy(att, mime, sizeof(wc_mime_attachment)); - memset(mime, 0, sizeof(wc_mime_attachment)); - - if (att->Data == NULL) + + if (( (!strcasecmp(ChrPtr(mime->Disposition), "inline"))|| + (!strcasecmp(ChrPtr(mime->Disposition), "attachment"))) && + (strcasecmp(ChrPtr(mime->ContentType), "application/ms-tnef")!=0)) + { + + int n; + char N[64]; + /* steal this mime part... */ + att = malloc(sizeof(wc_mime_attachment)); + memcpy(att, mime, sizeof(wc_mime_attachment)); + memset(mime, 0, sizeof(wc_mime_attachment)); + + if (att->Data == NULL) MimeLoadData(att); - if (WCC->attachments == NULL) - WCC->attachments = NewHash(1, NULL); - /* And add it to the list. */ - n = snprintf(N, sizeof N, "%d", GetCount(WCC->attachments) + 1); - Put(WCC->attachments, N, n, att, DestroyMime); - } + if (WCC->attachments == NULL) + WCC->attachments = NewHash(1, NULL); + /* And add it to the list. */ + n = snprintf(N, sizeof N, "%d", GetCount(WCC->attachments) + 1); + Put(WCC->attachments, N, n, att, DestroyMime); + } } -void tmplput_MIME_Length(StrBuf * Target, WCTemplputParams * TP) { - wc_mime_attachment *mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); +void tmplput_MIME_Length(StrBuf *Target, WCTemplputParams *TP) +{ + wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendPrintf(Target, "%ld", mime->length); } -HashList *iterate_get_registered_Attachments(StrBuf * Target, WCTemplputParams * TP) { +HashList *iterate_get_registered_Attachments(StrBuf *Target, WCTemplputParams *TP) +{ return WC->attachments; } -void get_registered_Attachments_Count(StrBuf * Target, WCTemplputParams * TP) { - StrBufAppendPrintf(Target, "%ld", GetCount(WC->attachments)); +void get_registered_Attachments_Count(StrBuf *Target, WCTemplputParams *TP) +{ + StrBufAppendPrintf(Target, "%ld", GetCount (WC->attachments)); } -void servcmd_do_search(char *buf, long bufsize) { +void servcmd_do_search(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS SEARCH|%s", bstr("query")); } -void servcmd_headers(char *buf, long bufsize) { +void servcmd_headers(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS ALL"); } -void servcmd_readfwd(char *buf, long bufsize) { +void servcmd_readfwd(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS ALL"); } -void servcmd_readgt(char *buf, long bufsize) { +void servcmd_readgt(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS GT|%s", bstr("gt")); } -void servcmd_readlt(char *buf, long bufsize) { +void servcmd_readlt(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS LT|%s", bstr("lt")); } -void servcmd_readnew(char *buf, long bufsize) { +void servcmd_readnew(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS NEW"); } -void servcmd_readold(char *buf, long bufsize) { +void servcmd_readold(char *buf, long bufsize) +{ snprintf(buf, bufsize, "MSGS OLD"); } /* DO NOT REORDER OR REMOVE ANY OF THESE */ readloop_struct rlid[] = { - { { HKEY("do_search")}, servcmd_do_search }, - { { HKEY("headers")}, servcmd_headers }, - { { HKEY("readfwd")}, servcmd_readfwd }, - { { HKEY("readnew")}, servcmd_readnew }, - { { HKEY("readold")}, servcmd_readold }, - { { HKEY("readgt")}, servcmd_readgt }, - { { HKEY("readlt")}, servcmd_readlt } + { {HKEY("do_search")}, servcmd_do_search }, + { {HKEY("headers")}, servcmd_headers }, + { {HKEY("readfwd")}, servcmd_readfwd }, + { {HKEY("readnew")}, servcmd_readnew }, + { {HKEY("readold")}, servcmd_readold }, + { {HKEY("readgt")}, servcmd_readgt }, + { {HKEY("readlt")}, servcmd_readlt } }; @@ -1230,33 +1361,32 @@ readloop_struct rlid[] = { * TODO: figure out who did this and beat them with a wet noodle. */ const char *fieldMnemonics[] = { - "from", /* A -> eAuthor */ - "exti", /* E -> eXclusivID */ - "rfca", /* F -> erFc822Addr */ - "msgn", /* I -> emessageId */ - "jrnl", /* J -> eJournal */ - "rep2", /* K -> eReplyTo */ - "list", /* L -> eListID */ - "text", /* M -> eMesageText */ - "locl", /* eIsLocal */ - "path", /* P -> eMessagePath */ - "rcpt", /* R -> eRecipient */ - "spec", /* S -> eSpecialField */ - "time", /* T -> eTimestamp */ - "subj", /* U -> eMsgSubject */ - "nvto", /* V -> eenVelopeTo */ - "wefw", /* W -> eWeferences */ - "cccc", /* Y -> eCarbonCopY */ - "nhdr", /* eHeaderOnly */ - "type", /* eFormatType */ - "part", /* eMessagePart */ - "suff" /* eSubFolder */ + "from", /* A -> eAuthor */ + "exti", /* E -> eXclusivID */ + "rfca", /* F -> erFc822Addr */ + "msgn", /* I -> emessageId */ + "jrnl", /* J -> eJournal */ + "rep2", /* K -> eReplyTo */ + "list", /* L -> eListID */ + "text", /* M -> eMessageText */ + "locl", /* eIsLocal */ + "path", /* P -> eMessagePath */ + "rcpt", /* R -> eRecipient */ + "spec", /* S -> eSpecialField */ + "time", /* T -> eTimestamp */ + "subj", /* U -> eMsgSubject */ + "nvto", /* V -> eenVelopeTo */ + "wefw", /* W -> eWeferences */ + "cccc", /* Y -> eCarbonCopY */ + "nhdr", /* eHeaderOnly */ + "type", /* eFormatType */ + "part", /* eMessagePart */ + "suff" /* eSubFolder */ }; - HashList *msgKeyLookup = NULL; -int GetFieldFromMnemonic(eMessageField * f, const char *c) { +int GetFieldFromMnemonic(eMessageField *f, const char *c) { void *v = NULL; if (GetHash(msgKeyLookup, c, 4, &v)) { *f = (eMessageField) v; @@ -1269,52 +1399,70 @@ int GetFieldFromMnemonic(eMessageField * f, const char *c) { void FillMsgKeyLookupTable(void) { long i = 0; - msgKeyLookup = NewHash(1, FourHash); - for (i = 0; i < eLastHeader; ++i) { + msgKeyLookup = NewHash (1, FourHash); + for (i=0; isumm */ - RegisterIterator("MAIL:SUMM:MSGS", 0, NULL, iterate_get_mailsumm_All, NULL, NULL, CTX_MAILSUM, CTX_NONE, IT_NOFLAG); + RegisterIterator("MAIL:SUMM:MSGS", 0, NULL, iterate_get_mailsumm_All, NULL,NULL, CTX_MAILSUM, CTX_NONE, IT_NOFLAG); RegisterNamespace("MAIL:SUMM:EUID", 0, 1, tmplput_MAIL_SUMM_EUID, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:DATEBRIEF", 0, 0, tmplput_MAIL_SUMM_DATE_BRIEF, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:DATEFULL", 0, 0, tmplput_MAIL_SUMM_DATE_FULL, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:DATENO", 0, 0, tmplput_MAIL_SUMM_DATE_NO, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:N", 0, 0, tmplput_MAIL_SUMM_N, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:DATENO", 0, 0, tmplput_MAIL_SUMM_DATE_NO, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:N", 0, 0, tmplput_MAIL_SUMM_N, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:PERMALINK", 0, 0, tmplput_MAIL_SUMM_PERMALINK, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:FROM", 0, 2, tmplput_MAIL_SUMM_FROM, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:TO", 0, 2, tmplput_MAIL_SUMM_TO, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:SUBJECT", 0, 4, tmplput_MAIL_SUMM_SUBJECT, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:NTATACH", 0, 0, tmplput_MAIL_SUMM_NATTACH, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:FROM", 0, 2, tmplput_MAIL_SUMM_FROM, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:TO", 0, 2, tmplput_MAIL_SUMM_TO, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:SUBJECT", 0, 4, tmplput_MAIL_SUMM_SUBJECT, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:NTATACH", 0, 0, tmplput_MAIL_SUMM_NATTACH, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:CCCC", 0, 2, tmplput_MAIL_SUMM_CCCC, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:REPLYTO", 0, 2, tmplput_MAIL_SUMM_REPLYTO, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:ALLRCPT", 0, 2, tmplput_MAIL_SUMM_ALLRCPT, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:ORGROOM", 0, 2, tmplput_MAIL_SUMM_ORGROOM, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:ALLRCPT", 0, 2, tmplput_MAIL_SUMM_ALLRCPT, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:ORGROOM", 0, 2, tmplput_MAIL_SUMM_ORGROOM, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:RFCA", 0, 2, tmplput_MAIL_SUMM_RFCA, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:REFIDS", 0, 1, tmplput_MAIL_SUMM_REFIDS, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:SUMM:INREPLYTO", 0, 2, tmplput_MAIL_SUMM_INREPLYTO, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:BODY", 0, 2, tmplput_MAIL_BODY, NULL, CTX_MAILSUM); - RegisterNamespace("MAIL:QUOTETEXT", 1, 2, tmplput_QUOTED_MAIL_BODY, NULL, CTX_NONE); - RegisterNamespace("MAIL:EDITTEXT", 1, 2, tmplput_EDIT_MAIL_BODY, NULL, CTX_NONE); - RegisterNamespace("MAIL:EDITWIKI", 1, 2, tmplput_EDIT_WIKI_BODY, NULL, CTX_NONE); - RegisterConditional("COND:MAIL:SUMM:RFCA", 0, Conditional_MAIL_SUMM_RFCA, CTX_MAILSUM); - RegisterConditional("COND:MAIL:SUMM:CCCC", 0, Conditional_MAIL_SUMM_CCCC, CTX_MAILSUM); - RegisterConditional("COND:MAIL:SUMM:REPLYTO", 0, Conditional_MAIL_SUMM_REPLYTO, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:REFIDS", 0, 1, tmplput_MAIL_SUMM_REFIDS, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:SUMM:INREPLYTO", 0, 2, tmplput_MAIL_SUMM_INREPLYTO, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:BODY", 0, 2, tmplput_MAIL_BODY, NULL, CTX_MAILSUM); + RegisterNamespace("MAIL:QUOTETEXT", 1, 2, tmplput_QUOTED_MAIL_BODY, NULL, CTX_NONE); + RegisterNamespace("MAIL:EDITTEXT", 1, 2, tmplput_EDIT_MAIL_BODY, NULL, CTX_NONE); + RegisterNamespace("MAIL:EDITWIKI", 1, 2, tmplput_EDIT_WIKI_BODY, NULL, CTX_NONE); + RegisterConditional("COND:MAIL:SUMM:RFCA", 0, Conditional_MAIL_SUMM_RFCA, CTX_MAILSUM); + RegisterConditional("COND:MAIL:SUMM:CCCC", 0, Conditional_MAIL_SUMM_CCCC, CTX_MAILSUM); + RegisterConditional("COND:MAIL:SUMM:REPLYTO", 0, Conditional_MAIL_SUMM_REPLYTO, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:UNREAD", 0, Conditional_MAIL_SUMM_UNREAD, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:SUBJECT", 0, Conditional_MAIL_SUMM_SUBJECT, CTX_MAILSUM); RegisterConditional("COND:MAIL:ANON", 0, Conditional_ANONYMOUS_MESSAGE, CTX_MAILSUM); @@ -1328,12 +1476,9 @@ void InitModule_MSGRENDERERS(void) { RegisterConditional("COND:MAIL:MIME:ATTACH:LINKS", 0, Conditional_MAIL_MIME_ATTACHLINKS, CTX_MAILSUM); RegisterConditional("COND:MAIL:MIME:ATTACH:ATT", 0, Conditional_MAIL_MIME_ATTACH, CTX_MAILSUM); RegisterIterator("MAIL:MIME:ATTACH", 0, NULL, iterate_get_mime_All, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); - RegisterIterator("MAIL:MIME:ATTACH:SUBMESSAGES", 0, NULL, iterate_get_mime_Submessages, NULL, NULL, CTX_MIME_ATACH, - CTX_MAILSUM, IT_NOFLAG); - RegisterIterator("MAIL:MIME:ATTACH:LINKS", 0, NULL, iterate_get_mime_AttachLinks, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, - IT_NOFLAG); - RegisterIterator("MAIL:MIME:ATTACH:ATT", 0, NULL, iterate_get_mime_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, - IT_NOFLAG); + RegisterIterator("MAIL:MIME:ATTACH:SUBMESSAGES", 0, NULL, iterate_get_mime_Submessages, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); + RegisterIterator("MAIL:MIME:ATTACH:LINKS", 0, NULL, iterate_get_mime_AttachLinks, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); + RegisterIterator("MAIL:MIME:ATTACH:ATT", 0, NULL, iterate_get_mime_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); /* Parts of a mime attachent */ RegisterNamespace("MAIL:MIME:NAME", 0, 2, tmplput_MIME_Name, NULL, CTX_MIME_ATACH); @@ -1350,9 +1495,8 @@ void InitModule_MSGRENDERERS(void) { RegisterNamespace("MAIL:MIME:LOADDATA", 0, 0, tmplput_MIME_LoadData, NULL, CTX_MIME_ATACH); /* iterate the WC->attachments; use the above tokens for their contents */ - RegisterIterator("MSG:ATTACHNAMES", 0, NULL, iterate_get_registered_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_NONE, - IT_NOFLAG); - RegisterNamespace("MSG:NATTACH", 0, 0, get_registered_Attachments_Count, NULL, CTX_NONE); + RegisterIterator("MSG:ATTACHNAMES", 0, NULL, iterate_get_registered_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_NONE, IT_NOFLAG); + RegisterNamespace("MSG:NATTACH", 0, 0, get_registered_Attachments_Count, NULL, CTX_NONE); /* mime renderers translate an attachment into webcit viewable html text */ RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 0, 150); @@ -1390,7 +1534,7 @@ void InitModule_MSGRENDERERS(void) { RegisterMsgHdr(HKEY("X-Citadel-MSG4-Partnum"), examine_msg4_partnum, 0); RegisterMsgHdr(HKEY("Content-type"), examine_content_type, 0); RegisterMsgHdr(HKEY("Content-length"), examine_content_lengh, 0); - RegisterMsgHdr(HKEY("Content-transfer-encoding"), examine_content_encoding, 0); /* do we care? */ + RegisterMsgHdr(HKEY("Content-transfer-encoding"), examine_content_encoding, 0); /* do we care? */ RegisterMsgHdr(HKEY("charset"), examine_charset, 0); /* Don't care about these... */ @@ -1399,21 +1543,29 @@ void InitModule_MSGRENDERERS(void) { RegisterMsgHdr(HKEY("path"), examine_path, 0); } -void InitModule2_MSGRENDERERS(void) { +void +InitModule2_MSGRENDERERS +(void) +{ /* and finalize the anouncement to the server... */ CreateMimeStr(); } - -void ServerStartModule_MSGRENDERERS(void) { - DflMsgHeaderHandler = NewHash(1, FourHash); - DflEnumMsgHeaderHandler = NewHash(1, Flathash); +void +ServerStartModule_MSGRENDERERS +(void) +{ + DflMsgHeaderHandler = NewHash (1, FourHash); + DflEnumMsgHeaderHandler = NewHash (1, Flathash); MsgHeaderHandler = NewHash(1, NULL); MimeRenderHandler = NewHash(1, NULL); ReadLoopHandler = NewHash(1, NULL); FillMsgKeyLookupTable(); } -void ServerShutdownModule_MSGRENDERERS(void) { +void +ServerShutdownModule_MSGRENDERERS +(void) +{ DeleteHash(&DflMsgHeaderHandler); DeleteHash(&DflEnumMsgHeaderHandler); @@ -1424,7 +1576,10 @@ void ServerShutdownModule_MSGRENDERERS(void) { DeleteHash(&msgKeyLookup); } -void SessionDestroyModule_MSGRENDERERS(wcsession * sess) { +void +SessionDestroyModule_MSGRENDERERS +(wcsession *sess) +{ DeleteHash(&sess->attachments); FreeStrBuf(&sess->ConvertBuf1); FreeStrBuf(&sess->ConvertBuf2);