} 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)
HashList *Submessages;
HashList *AttachLinks;
+ HashList *AllAttach;
+
int is_new; /**< is it yet read? */
int hasattachments; /* does it have atachments? */