internal static HeaderNameIndex LookupName(byte[] nameBuffer, int offset, int length) { if (length >= 2 && length <= 31) { int num = MimeData.HashName(nameBuffer, offset, length); int num2 = (int)MimeData.nameHashTable[num]; if (num2 > 0) { for (;;) { string str = MimeData.headerNames[num2].name; if (ByteString.EqualsI(str, nameBuffer, offset, length, false)) { break; } num2++; if ((int)MimeData.headerNames[num2].hash != num) { return(HeaderNameIndex.Unknown); } } return((HeaderNameIndex)num2); } } return(HeaderNameIndex.Unknown); }
internal static HeaderNameIndex LookupName(string name) { if (name.Length >= 2 && name.Length <= 31) { int num = MimeData.HashName(name); int num2 = (int)MimeData.nameHashTable[num]; if (num2 > 0) { for (;;) { string text = MimeData.headerNames[num2].name; if (name.Length == text.Length && name.Equals(text, StringComparison.OrdinalIgnoreCase)) { break; } num2++; if ((int)MimeData.headerNames[num2].hash != num) { return(HeaderNameIndex.Unknown); } } return((HeaderNameIndex)num2); } } return(HeaderNameIndex.Unknown); }