mirror of
https://github.com/anope/anope.git
synced 2026-06-25 05:56:38 +02:00
73bd4f99ca
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1914 5417fbe8-f217-4b02-8779-1006273d7864
60 lines
1.0 KiB
C
60 lines
1.0 KiB
C
/* Compatibility routines.
|
|
*
|
|
* (C) 2003-2009 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.
|
|
*
|
|
* $Id$
|
|
*
|
|
*/
|
|
|
|
#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 == 0)
|
|
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 == 0 || --len == 0)
|
|
return 0;
|
|
s1++;
|
|
s2++;
|
|
}
|
|
if (c < tolower(*s2))
|
|
return -1;
|
|
return 1;
|
|
}
|
|
#endif
|
|
|
|
/*************************************************************************/
|
|
|