Hello, I don't know if there is a place where it can happen, but what if the two parameters of bool strequal(const char *s1, const char *s2) { if (s1 == s2) return(true); if (!s1 || !s2) return(false); return(StrCaseCmp(s1,s2)==0); } are both NULL. Shouldn't the result be TRUE ? Actualy it is FALSE. Bye Andreas