VrpComparePath
NTSTATUS __stdcall VrpComparePath(_UNICODE_STRING *Path1, _UNICODE_STRING *Path2, UINT64 *MatchedTokens){
UINT64 v3;
int v4;
int Length;
unsigned int v9;
_UNICODE_STRING v11;
_UNICODE_STRING PathToken;
UINT64 Position;
UINT64 v14;
Position = 0i64;
PathToken = 0i64;
v3 = 0i64;
v4 = 0;
v11 = 0i64;
v14 = 0i64;
while( 1 )
{
VrpGetNextToken(Path1, &Position, &PathToken);
VrpGetNextToken(Path2, &v14, &v11);
Length = PathToken.Length;
if( !PathToken.Length && !v11.Length )
break;
v9 = PathToken.Length;
if( PathToken.Length >= v11.Length )
v9 = v11.Length;
v4 = wcsnicmp(PathToken.Buffer, v11.Buffer, v9 >> 1);
if( v4 )
goto LABEL_8;
v4 = Length - v11.Length;
if( Length != v11.Length )
{
if( !(_WORD)Length || v11.Length )
{
LABEL_8:
v3 = 0i64;
break;
}
break;
}
++v3;
}
if( MatchedTokens )
*MatchedTokens = v3;
return v4;
}Referenced by:
VrpFindNamespaceNode