Return TypeFunction nameArguments
intCstrCompareI(const char*,const char*,unsigned int,)

Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp

Function Logic:

0:START 1:!pA||!pA[0] 2:!pB||!pB[0] 3:Return 0 4:Return 1 5:!pB||!pB[0] 6:Return (*pA>='A'&&*pA<='Z'?*pA-'A'+'a':*pA) 7:!nMaxlen 8:*pA&&*pB; 9:(*pA>='A'&&*pA<='Z'?*pA-'A'+'a':*pA)!=(*pB>='A'&&*pB<='Z'?*pB-'A'+'a':*pB) 10:nCount 11:nCount 12:(*pA>='A'&&*pA<='Z'?*pA-'A'+'a':*pA)!=(*pB>='A'&&*pB<='Z'?*pB-'A'+'a':*pB) 13:nCount==nMaxlen 14:Return 0 15:(*pA>='A'&&*pA<='Z'?*pA-'A'+'a':*pA)>(*pB>='A'&&*pB<='Z'?*pB-'A'+'a':*pB) 16:Return 1 17:(*pA>='A'&&*pA<='Z'?*pA-'A'+'a':*pA)<(*pB>='A'&&*pB<='Z'?*pB-'A'+'a':*pB) 18:Return -1 19:Return 0

Function body:

int CstrCompareI (const char* pA, const char* pB, unsigned int nMaxlen)
{
   _hzfunc("CstrCompareI") ;
   if (!pA || !pA[0])
   {
       if (!pB || !pB[0])
           return 0;
       return 1;
   }
   if (!pB || !pB[0])
       return conv2lower(*pA) ;
   if (!nMaxlen)
   {
       for (; *pA && *pB ; pA++, pB++)
       {
           if (conv2lower(*pA) != conv2lower(*pB))
               break ;
       }
   }
   else
   {
       uint32_t    nCount ;
       for (nCount = 0; nCount < nMaxlen ; nCount++, pA++, pB++)
       {
           if (conv2lower(*pA) != conv2lower(*pB))
               break ;
       }
       if (nCount == nMaxlen)
           return 0;
   }
   if (conv2lower(*pA) > conv2lower(*pB))
       return 1;
   if (conv2lower(*pA) < conv2lower(*pB))
       return -1;
   return 0;
}