unsafe internal String LookupIetfName(String name)
{
BCLDebug.Assert(name!=null,"CultureTable.LookupIetfName(): name!=null");
// Get our culture table item, don't have to use cache because it should've
// been cached already in CultureInfo.GetCultureInfoByIetfLanguageTag().
int left = 0;
int right = m_pCultureHeader->numIetfNames - 1;
while (left <= right)
{
int mid = (left+right)/2;
int result = CompareStringToStringPoolStringBinary(name, m_pIetfNameIndex[mid].strIetfNameOffset);
if (result == 0)
{
// They matched, return the real culture name
return GetStringPoolString(m_pIetfNameIndex[mid].strCultureNameOffset);
}
if (result < 0)
right = mid - 1;
else
left = mid + 1;
}
// Not found, return null
return null;
}