HtmlToken ReadEndTagOpen ()
{
int nc = Read ();
char c;
if (nc == -1) {
TokenizerState = HtmlTokenizerState.EndOfFile;
return EmitDataToken (false);
}
c = (char) nc;
// Note: we save the data in case we hit a parse error and have to emit a data token
data.Append (c);
switch (c) {
case '>': // parse error
TokenizerState = HtmlTokenizerState.Data;
data.Length = 0; // FIXME: this is probably wrong
break;
default:
if (IsAsciiLetter (c)) {
TokenizerState = HtmlTokenizerState.TagName;
isEndTag = true;
name.Append (c);
} else {
TokenizerState = HtmlTokenizerState.BogusComment;
}
break;
}
return null;
}