#include <sys/types.h>
#include <netinet/in.h>
-#define LIBCITADEL_VERSION_NUMBER 829
+#define LIBCITADEL_VERSION_NUMBER 901
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
#define BLOG_EUIDBUF_SIZE 40
#ifndef IsEmptyStr
-#define IsEmptyStr(a) ((a)[0] == '\0')
+#define IsEmptyStr(a) ( ( (a) == NULL ) || ((a)[0] == '\0') )
#endif
char *memreadlinelen(char *start, char *buf, int maxlen, int *retlen);
const char *cmemreadline(const char *start, char *buf, int maxlen);
const char *cmemreadlinelen(const char *start, char *buf, int maxlen, int *retlen);
-#define IsEmptyStr(a) ((a)[0] == '\0')
#define num_parms(source) num_tokens(source,(char)'|')
int stripout(char *str, char leftboundary, char rightboundary);
long stripallbut(char *str, char leftboundary, char rightboundary);
struct vCard *vcard_new(void);
-void vcard_add_prop(struct vCard *v, char *propname, char *propvalue);
+void vcard_add_prop(struct vCard *v, const char *propname, const char *propvalue);
struct vCard *vcard_load(char *vtext);
struct vCard *VCardLoad(StrBuf *vbtext);
typedef int (*CompareFunc)(const void* Item1, const void*Item2);
typedef long (*HashFunc)(const char *Str, long Len);
typedef void (*TransitionFunc) (void *Item1, void *Item2, int Odd);
-typedef void (*PrintHashDataFunc) (const char *Key, void *Item, int Odd);
+typedef const char* (*PrintHashDataFunc) (const char *Key, void *Item, int Odd);
long Flathash(const char *str, long len);
long lFlathash(const char *str, long len);
void Put(HashList *Hash, const char *HKey, long HKLen, void *Data, DeleteHashDataFunc DeleteIt);
int GetKey(HashList *Hash, char *HKey, long HKLen, void **Data);
int GetHashKeys(HashList *Hash, char ***List);
+const char *dbg_PrintStrBufPayload(const char *Key, void *Item, int Odd);
int dbg_PrintHash(HashList *Hash, PrintHashContent first, PrintHashContent Second);
int PrintHash(HashList *Hash, TransitionFunc Trans, PrintHashDataFunc PrintEntry);
HashPos *GetNewHashPos(const HashList *Hash, int StepWidth);