#include <time.h>
#include <stdlib.h>
#include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER 739
+#define LIBCITADEL_VERSION_NUMBER 750
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
char *libcitadel_version_string(void);
int libcitadel_version_number(void);
-
+void ShutDownLibCitadel(void);
/*
* MIME parser declarations
void *cbuserdata),
void *userdata,
int dont_decode
- );
+);
int StrBufSipLine(StrBuf *LineBuf, StrBuf *Buf, const char **Ptr);
int StrBufExtract_token(StrBuf *dest, const StrBuf *Source, int parmnum, char separator);
int StrBufSub(StrBuf *dest, const StrBuf *Source, unsigned long Offset, size_t nChars);
+
unsigned long StrBufExtract_unsigned_long(const StrBuf* Source, int parmnum, char separator);
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 StrBufNum_tokens(const StrBuf *source, char tok);
int StrBufRemove_token(StrBuf *Source, int parmnum, char separator);
+int StrBufExtract_NextToken(StrBuf *dest, const StrBuf *Source, const char **pStart, char separator);
+int StrBufSkip_NTokenS(const StrBuf *Source, const char **pStart, char separator, int nTokens);
+unsigned long StrBufExtractNext_unsigned_long(const StrBuf* Source, const char **pStart, char separator);
+long StrBufExtractNext_long(const StrBuf* Source, const char **pStart, char separator);
+int StrBufExtractNext_int(const StrBuf* Source, const char **pStart, char separator);
+
+
void StrBufAppendBufPlain(StrBuf *Buf, const char *AppendBuf, long AppendSize, unsigned long Offset);
void StrBufAppendBuf(StrBuf *Buf, const StrBuf *AppendBuf, unsigned long Offset);
void StrBufAppendPrintf(StrBuf *Buf, const char *format, ...);
/* Select the icon for a given MIME type */
const char *GetIconFilename(char *MimeType, size_t len);
-void ShutDownLibCitadel(void);
-
/* tools */
void CtdlInitBase64Table(void);
size_t CtdlEncodeBase64(char *dest, const char *source, size_t sourcelen, int linebreaks);
int CtdlDecodeBase64(char *dest, const char *source, size_t length);
+unsigned int decode_hex(char *Source);
int CtdlDecodeQuotedPrintable(char *decoded, char *encoded, int sourcelen);
void striplt(char *);
int haschar(const char *st, int ch);