CmpCompareTwoCompressedNames
INT64 __stdcall CmpCompareTwoCompressedNames(
_WCHAR *CompressedName1,
UINT64 NameLength1,
_WCHAR *CompressedName2,
UINT64 NameLength2){
unsigned __int16 v4;
unsigned __int16 v6;
unsigned int v8;
unsigned int v9;
v4 = NameLength2;
v6 = NameLength1;
if( (_WORD)NameLength1 )
{
while( v4 )
{
v8 = *(unsigned __int8 *)CompressedName1;
CompressedName1 = (_WCHAR *)((char *)CompressedName1 + 1);
v9 = *(unsigned __int8 *)CompressedName2;
CompressedName2 = (_WCHAR *)((char *)CompressedName2 + 1);
if( (_WORD)v8 != (_WORD)v9 )
{
if( v8 >= 0x61 )
{
if( v8 <= 0x7A )
LOWORD(v8) = v8 - 32;
else
LOWORD(v8) = NLS_UPCASE(v8);
}
if( v9 >= 0x61 )
{
if( v9 <= 0x7A )
LOWORD(v9) = v9 - 32;
else
LOWORD(v9) = NLS_UPCASE(v9);
}
if( (unsigned __int16)v8 != (unsigned __int16)v9 )
return(unsigned __int16)v8 - (unsigned int)(unsigned __int16)v9;
}
--v4;
if( !--v6 )
return v6 - (unsigned int)v4;
}
}
return v6 - (unsigned int)v4;
}Referenced by:
CmpCompareKeysByName
CmpDoCompareKeyName
CmpFindKcbInHashEntryByCompressedName
CmpFindNameInListCellWithStatus
CmpSortedValueEnumStackValueCompareFunction