diff --git a/HTMLKit/HTMLTokenizer.m b/HTMLKit/HTMLTokenizer.m index 2fa01f1..a30f535 100644 --- a/HTMLKit/HTMLTokenizer.m +++ b/HTMLKit/HTMLTokenizer.m @@ -1900,13 +1900,14 @@ break; default: { + [_inputStreamReader markCurrentLocation]; [_inputStreamReader unconsumeCurrentInputCharacter]; if ([_inputStreamReader consumeString:@"PUBLIC" caseSensitive:NO]) { [self switchToState:HTMLTokenizerStateAfterDOCTYPEPublicKeyword]; } else if ([_inputStreamReader consumeString:@"SYSTEM" caseSensitive:NO]) { [self switchToState:HTMLTokenizerStateAfterDOCTYPESystemKeyword]; } else { - [_inputStreamReader consumeNextInputCharacter]; + [_inputStreamReader rewindToMarkedLocation]; [self emitParseError:@"Unexpected character (%@) in After DOCTYPE Name state", StringFromUTF32Char(character)]; _currentDoctypeToken.forceQuirks = YES; [self switchToState:HTMLTokenizerStateBogusDOCTYPE];