-#define eq(A,B) !strcmp(A,B)
+#define eq(A,B) ((A) && (B) && !strcmp(A,B))
+#define eqi(A,B) ((A) && (B) && !strcmpi(A,B))
#define strcmpi(A,B) strcasecmp(A,B)
#define strlwr(A) {char *_S=A; while(_&&*_S){*_S=tolower(*_S);_S++;}}
#define strupr(A) {char *_S=A; while(_&&*_S){*_S=toupper(*_S);_S++;}}
#define strcmpi(A,B) strcasecmp(A,B)
#define strlwr(A) {char *_S=A; while(_&&*_S){*_S=tolower(*_S);_S++;}}
#define strupr(A) {char *_S=A; while(_&&*_S){*_S=toupper(*_S);_S++;}}