HtmlToken ReadCommentEndBang ()
{
int nc = Read ();
char c;
if (nc == -1) {
TokenizerState = HtmlTokenizerState.EndOfFile;
return EmitCommentToken (name);
}
c = (char) nc;
data.Append (c);
switch (c) {
case '-':
TokenizerState = HtmlTokenizerState.CommentEndDash;
name.Append ("--!");
break;
case '>':
TokenizerState = HtmlTokenizerState.Data;
return EmitCommentToken (name);
default: // parse error
TokenizerState = HtmlTokenizerState.Comment;
name.Append ("--!");
name.Append (c == '\0' ? '\uFFFD' : c);
break;
}
return null;
}