]> code.citadel.org Git - citadel.git/blobdiff - libcitadel/lib/libcitadel.h
* Set all version numbers to 7.41 for upcoming beta.
[citadel.git] / libcitadel / lib / libcitadel.h
index a20bf1a1d9ec454b98feed75acaa8d6e43e0208d..21be740e6e00e53d4b583b81a26ff52b5e08dacb 100644 (file)
@@ -15,7 +15,7 @@
 #include <time.h>
 #include <stdlib.h>
 #include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER      739
+#define LIBCITADEL_VERSION_NUMBER      741
 
 /*
  * Here's a bunch of stupid magic to make the MIME parser portable.
@@ -245,12 +245,20 @@ int StrBufTCP_read_buffered_line(StrBuf *Line,
 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 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, ...);
@@ -276,6 +284,7 @@ void ctdl_iconv_open(const char *tocode, const char *fromcode, void *pic);
 void StrBuf_RFC822_to_Utf8(StrBuf *Target, const StrBuf *DecodeMe, const StrBuf* DefaultCharset, StrBuf *FoundCharset);
 int StrBufDecodeBase64(StrBuf *Buf);
 int StrBufRFC2047encode(StrBuf **target, const StrBuf *source);
+int StrBufSanitizeAscii(StrBuf *Buf, const char Mute);
 #define LB                     (1)             /* Internal escape chars */
 #define RB                     (2)
 #define QU                     (3)
@@ -330,7 +339,7 @@ char *memreadline(char *start, char *buf, int maxlen);
 char *memreadlinelen(char *start, char *buf, int maxlen, int *retlen);
 #define IsEmptyStr(a) ((a)[0] == '\0')
 #define num_parms(source)              num_tokens(source,(char)'|')
-void stripout(char *str, char leftboundary, char rightboundary);
+int stripout(char *str, char leftboundary, char rightboundary);
 void stripallbut(char *str, char leftboundary, char rightboundary);
 char *myfgets(char *s, int size, FILE *stream);
 void urlesc(char *outbuf, size_t oblen, char *strbuf);
@@ -485,7 +494,7 @@ void JsonArrayAppend(JsonValue *Array, JsonValue *Val);
 
 void JsonObjectAppend(JsonValue *Array, JsonValue *Val);
 
-void SerializeJson(StrBuf *Target, JsonValue *Val);
+void SerializeJson(StrBuf *Target, JsonValue *Val, int FreeVal);
 
 
 
@@ -505,9 +514,9 @@ typedef enum _WF_MessageType {
        eEXCEPTION
 } WF_MessageType;
 
-JsonValue *WildFireException(StrBuf *Message,
-                            const char *Filename, long FileLen,
+JsonValue *WildFireException(const char *Filename, long FileLen,
                             long LineNo,
+                            StrBuf *Message,
                             int StackOffset);
 
 void WildFireAddArray(JsonValue *ReportBase, JsonValue *Array, WF_MessageType Type);