} TemplateParam;
typedef struct _TemplateToken {
+ const StrBuf *FileName; /* Reference to print error messages; not to be freed */
StrBuf *FlatToken;
long Line;
const char *pTokenStart;
#define CTX_NODECONF 7
#define CTX_USERLIST 8
#define CTX_MAILSUM 9
-
+#define CTX_MIME_ATACH 10
void RegisterNS(const char *NSName, long len,
int nMinArgs,
typedef void (*SubTemplFunc)(StrBuf *TemplBuffer, void *Context, WCTemplateToken *Token);
-typedef HashList *(*RetrieveHashlistFunc)(WCTemplateToken *Token);
+typedef HashList *(*RetrieveHashlistFunc)(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType);
typedef void (*HashDestructorFunc) (HashList **KillMe);
void RegisterITERATOR(const char *Name, long len,
int AdditionalParams,
RetrieveHashlistFunc GetHash,
SubTemplFunc DoSubTempl,
HashDestructorFunc Destructor,
- int ContextType);
-#define RegisterIterator(a, b, c, d, e, f, g) RegisterITERATOR(a, sizeof(a)-1, b, c, d, e, f, g)
+ int ContextType,
+ int XPectContextType);
+#define RegisterIterator(a, b, c, d, e, f, g, h) RegisterITERATOR(a, sizeof(a)-1, b, c, d, e, f, g, h)
void SVPut(char *keyname, size_t keylen, int keytype, char *Data);
#define svput(a, b, c) SVPut(a, sizeof(a) - 1, b, c)
StrBuf *Charset;
StrBuf *Data;
size_t length; /* length of the mimeatachment */
+ long size_known;
char content_type[SIZ]; /* the content itself ???*/
char filename[SIZ]; /* the filename hooked to this content ??? */
char *data; /* the data pool; aka this content */
}wc_mime_attachment;
-typedef void (*RenderMimeFunc)(wc_mime_attachment *Mime, StrBuf *RawData);
+typedef void (*RenderMimeFunc)(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset);
/*
* \brief message summary structure. ???
HashList *Submessages;
HashList *AttachLinks;
+ HashList *AllAttach;
+
int is_new; /**< is it yet read? */
int hasattachments; /* does it have atachments? */
wc_mime_attachment *vcard_partnum_ref;
} message_summary;
-typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine);
+typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
void ajax_mini_calendar(void);
void fmout(char *align);
void _fmout(StrBuf *Targt, char *align);
+void FmOut(StrBuf *Target, char *align, StrBuf *Source);
void pullquote_fmout(void);
void wDumpContent(int);