Also, in the spirit of 'belt-and-suspenders' programming practices:
--- webcit-8.24-dfsg/webcit.h 2014-01-27 09:42:11.000000000 -0600
+++ webcit-8.24-dfsg/webcit.h.new 2014-10-23 14:12:58.638800940 -0500
@@ -64,7 +64,7 @@
#define _(string) (string)
#endif
-#define IsEmptyStr(a) ((a)[0] == '\0')
+#define IsEmptyStr(a) ( ( (a) == NULL ) || ((a)[0] == '\0') )
#define DO_DBG_QR 0
#define DBG_QR(x) if(DO_DBG_QR) _DBG_QR(x)
The previous definition will crash abort webcit in the event a is null. The patch will correctly report the emptyness of a pointer to a string set to null and if not null then if zero length.
If it is important maybe a new define if the question is whether a is a non null string of zero length.