]> code.citadel.org Git - citadel.git/blobdiff - libcitadel/lib/libcitadel.h
* fix hashlist iterator
[citadel.git] / libcitadel / lib / libcitadel.h
index c77f57b6e2dc4b852dfa423ce435774665427519..cf628fe96c36ddc68ad38f38e2b491427a50f10a 100644 (file)
@@ -15,7 +15,7 @@
 #include <time.h>
 #include <stdlib.h>
 #include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER      763
+#define LIBCITADEL_VERSION_NUMBER      766
 
 /*
  * Here's a bunch of stupid magic to make the MIME parser portable.
@@ -65,6 +65,11 @@ enum LogLevel {
 #define IsEmptyStr(a) ((a)[0] == '\0')
 #endif
 
+/*
+ * another word to indicate n/a for a pointer if NULL already has a "meaning"
+ */
+extern const char *StrBufNOTNULL;
+
 /*
  * Misc declarations
  */
@@ -229,6 +234,7 @@ int StrBufPlain(StrBuf *Buf, const char* ptr, int nChars);
 StrBuf* _NewConstStrBuf(const char* StringConstant, size_t SizeOfStrConstant);
 #define NewConstStrBuf(a) _NewConstStrBuf(a, sizeof(a))
 void FreeStrBuf (StrBuf **FreeMe);
+char *SmashStrBuf (StrBuf **SmashMe);
 void HFreeStrBuf (void *VFreeMe);
 int FlushStrBuf(StrBuf *buf);
 int FLUSHStrBuf(StrBuf *buf); /* expensive but doesn't leave content behind for others to find in case of errors */
@@ -440,7 +446,7 @@ int GetHashKeys(HashList *Hash, char ***List);
 int dbg_PrintHash(HashList *Hash, PrintHashContent first, PrintHashContent Second);
 int PrintHash(HashList *Hash, TransitionFunc Trans, PrintHashDataFunc PrintEntry);
 HashPos *GetNewHashPos(HashList *Hash, int StepWidth);
-int GetHashPosCounter(HashPos *At);
+int GetHashPosCounter(HashList *Hash, HashPos *At);
 void DeleteHashPos(HashPos **DelMe);
 int GetNextHashPos(HashList *Hash, HashPos *At, long *HKLen, const char **HashKey, void **Data);
 int GetHashAt(HashList *Hash,long At, long *HKLen, const char **HashKey, void **Data);