/* Compatibility routines. * * (C) 2003-2010 Anope Team * Contact us at team@anope.org * * Please read COPYING and README for further details. * * Based on the original code of Epona by Lara. * Based on the original code of Services by Andy Church. */ #include "services.h" /*************************************************************************/ #if !HAVE_STRICMP && !HAVE_STRCASECMP /* stricmp, strnicmp: Case-insensitive versions of strcmp() and * strncmp(). */ int stricmp(const char *s1, const char *s2) { register int c; while ((c = tolower(*s1)) == tolower(*s2)) { if (!c) return 0; ++s1; ++s2; } if (c < tolower(*s2)) return -1; return 1; } int strnicmp(const char *s1, const char *s2, size_t len) { register int c; if (!len) return 0; while ((c = tolower(*s1)) == tolower(*s2) && len > 0) { if (!c || !--len) return 0; ++s1; ++s2; } if (c < tolower(*s2)) return -1; return 1; } #endif /*************************************************************************/