private int DetermineFormat(TokenizerStream stream)
{
if (stream.GetNextToken() == Tokenizer.bra)
{
if (stream.GetNextToken() == Tokenizer.quest)
{
_t.GetTokens(stream, -1, true);
stream.GoToPosition(2);
bool sawEquals = false;
bool sawEncoding = false;
short i;
for (i = stream.GetNextToken(); i != -1 && i != Tokenizer.ket; i = stream.GetNextToken())
{
switch (i)
{
case Tokenizer.cstr:
if (sawEquals && sawEncoding)
{
_t.ChangeFormat(System.Text.Encoding.GetEncoding(stream.GetNextString()));
return(0);
}
else if (!sawEquals)
{
if (String.Compare(stream.GetNextString(), "encoding", StringComparison.Ordinal) == 0)
{
sawEncoding = true;
}
}
else
{
sawEquals = false;
sawEncoding = false;
stream.ThrowAwayNextString();
}
break;
case Tokenizer.equals:
sawEquals = true;
break;
default:
throw new XmlSyntaxException(_t.LineNo, Environment.GetResourceString("XMLSyntax_UnexpectedEndOfFile"));
}
}
return(0);
}
}
return(2);
}