#include <time.h>
#include <stdlib.h>
#include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER 738
+#define LIBCITADEL_VERSION_NUMBER 739
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PreMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PostMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void *userdata,
int dont_decode
char *part_start, size_t length,
char *content_type, char *charset, char *encoding,
char *disposition,
+ char *id,
char *name, char *filename,
void (*CallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PreMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PostMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void *userdata,
int dont_decode
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PreMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void (*PostMultiPartCallBack)
(char *cbname,
char *cbcharset,
size_t cblength,
char *cbencoding,
+ char *cbid,
void *cbuserdata),
void *userdata,
int dont_decode
void HFreeStrBuf (void *VFreeMe);
int FlushStrBuf(StrBuf *buf);
-inline const char *ChrPtr(const StrBuf *Str);
-inline int StrLength(const StrBuf *Str);
+const char *ChrPtr(const StrBuf *Str);
+int StrLength(const StrBuf *Str);
+#define SKEY(a) ChrPtr(a), StrLength(a)
long StrBufPeek(StrBuf *Buf, const char* ptr, long nThChar, char PeekValue);
int StrBufTCP_read_line(StrBuf *buf, int *fd, int append, const char **Error);
long StrBufExtract_long(const StrBuf* Source, int parmnum, char separator);
int StrBufExtract_int(const StrBuf* Source, int parmnum, char separator);
inline int StrBufNum_tokens(const StrBuf *source, char tok);
+int StrBufRemove_token(StrBuf *Source, int parmnum, char separator);
void StrBufAppendBufPlain(StrBuf *Buf, const char *AppendBuf, long AppendSize, size_t Offset);
void StrBufAppendBuf(StrBuf *Buf, const StrBuf *AppendBuf, size_t Offset);
void StrBufPrintf(StrBuf *Buf, const char *format, ...) __attribute__((__format__(__printf__,2,3)));
void StrBufCutLeft(StrBuf *Buf, int nChars);
void StrBufCutRight(StrBuf *Buf, int nChars);
+void StrBufUpCase(StrBuf *Buf);
void StrBufEUid_unescapize(StrBuf *target, const StrBuf *source);
void StrBufEUid_escapize(StrBuf *target, const StrBuf *source);
void StrBufReplaceChars(StrBuf *buf, char search, char replace);
int CompressBuffer(StrBuf *Buf);
+void StrBuf_RFC822_to_Utf8(StrBuf **Buf, const StrBuf* DefaultCharset);
int StrBufDecodeBase64(StrBuf *Buf);
int StrBufRFC2047encode(StrBuf **target, const StrBuf *source);
#define LB (1) /* Internal escape chars */
/*
* Hash list implementation for Citadel
*/
-#define HKEY(a) a, sizeof(a) - 1
+#define HKEY(a) a, (sizeof(a) - 1)
typedef struct HashList HashList;
typedef struct HashKey HashKey;