Org.Mozilla.Classfile.ConstantPool.GetUtfEncodingLimit C# (CSharp) Метод

GetUtfEncodingLimit() приватный Метод

Get maximum i such that start <= i <= end</tt> and s.substring(start, i) fits JVM UTF string encoding limit.
Get maximum i such that start <= i <= end</tt> and s.substring(start, i) fits JVM UTF string encoding limit.
private GetUtfEncodingLimit ( string s, int start, int end ) : int
s string
start int
end int
Результат int
		internal int GetUtfEncodingLimit(string s, int start, int end)
		{
			if ((end - start) * 3 <= MAX_UTF_ENCODING_SIZE)
			{
				return end;
			}
			int limit = MAX_UTF_ENCODING_SIZE;
			for (int i = start; i != end; i++)
			{
				int c = s[i];
				if (0 != c && c <= unchecked((int)(0x7F)))
				{
					--limit;
				}
				else
				{
					if (c < unchecked((int)(0x7FF)))
					{
						limit -= 2;
					}
					else
					{
						limit -= 3;
					}
				}
				if (limit < 0)
				{
					return i;
				}
			}
			return end;
		}