mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 10:53:14 +01:00
64 lines
1.3 KiB
C
64 lines
1.3 KiB
C
|
|
// Copyright (c) 2009-2012 by Digital Mars
|
|
// All Rights Reserved
|
|
// written by Walter Bright
|
|
// http://www.digitalmars.com
|
|
// License for redistribution is by either the Artistic License
|
|
// in artistic.txt, or the GNU General Public License in gnu.txt.
|
|
// See the included readme.txt for details.
|
|
|
|
// Put functions in here missing from gnu C
|
|
|
|
#include "gnuc.h"
|
|
|
|
int memicmp(const char *s1, const char *s2, int n)
|
|
{
|
|
int result = 0;
|
|
|
|
for (int i = 0; i < n; i++)
|
|
{ char c1 = s1[i];
|
|
char c2 = s2[i];
|
|
|
|
result = c1 - c2;
|
|
if (result)
|
|
{
|
|
if ('A' <= c1 && c1 <= 'Z')
|
|
c1 += 'a' - 'A';
|
|
if ('A' <= c2 && c2 <= 'Z')
|
|
c2 += 'a' - 'A';
|
|
result = c1 - c2;
|
|
if (result)
|
|
break;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
int stricmp(const char *s1, const char *s2)
|
|
{
|
|
int result = 0;
|
|
|
|
for (;;)
|
|
{ char c1 = *s1;
|
|
char c2 = *s2;
|
|
|
|
result = c1 - c2;
|
|
if (result)
|
|
{
|
|
if ('A' <= c1 && c1 <= 'Z')
|
|
c1 += 'a' - 'A';
|
|
if ('A' <= c2 && c2 <= 'Z')
|
|
c2 += 'a' - 'A';
|
|
result = c1 - c2;
|
|
if (result)
|
|
break;
|
|
}
|
|
if (!c1)
|
|
break;
|
|
s1++;
|
|
s2++;
|
|
}
|
|
return result;
|
|
}
|
|
|