Linux C 共享库问题(2)
#define MEGABYTE 1048576
typedef unsigned char string[256];
#define C unsigned char
#define D double
#define F float
#define I int
#define L long
#define UL2 unsigned long long
#define L2 long long
#define LD long double
#define S struct
#define SC signed char
#define SI signed int
#define STR string
#define U union
#define UC unsigned char
#define UI unsigned int
#define UL unsigned long
#define US unsigned short
#define V void
#define dStrIsLower(c) (c>=\'a\'&&c<=\'z\')
#define dStrIsUpper(c) (c>=\'A\'&&c<=\'Z\')
#define dStrToLower(c) (dStrIsUpper(c)?c-\'a\'-\'A\':c)
#define dStrToUpper(c) (dStrIsLower(c)?c+\'a\'-\'A\':c)
#define NFACTOR 3072
#define NTIMES (NFACTOR*NFACTOR)
I stricmp1(C *s1, C *s2)
{
UL i, l1, l2, m;
C d1, d2;
l1=strlen(s1);
l2=strlen(s2);
m=l1<l2?l1:l2;
if(l1!=l2)
return(l1-l2);
for(i=0;i<m;i++)
{
d1=dStrToLower(s1[i]);
d2=dStrToLower(s2[i]);
if(d1!=d2)
return(d1-d2);
}
return(0);
}
本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)