From e68a4b8ac410f402d12308ce7d63083b78d7ee89 Mon Sep 17 00:00:00 2001 From: Rupinder Singh Khokhar Date: Sat, 14 Jun 2014 07:35:44 +0530 Subject: Adding PLAINTEXT State & fixing the tester at places --- src/tokeniser/tokeniser.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/tokeniser/tokeniser.c b/src/tokeniser/tokeniser.c index b31b404..64eaf30 100644 --- a/src/tokeniser/tokeniser.c +++ b/src/tokeniser/tokeniser.c @@ -759,12 +759,16 @@ hubbub_error hubbub_tokeniser_handle_data(hubbub_tokeniser *tokeniser) emit_current_chars(tokeniser); } - /* Emit a null character */ - emit_character_token(tokeniser, &u_null_str); + /* Emit a null or a replacement character */ + if(tokeniser->content_model != HUBBUB_CONTENT_MODEL_PCDATA) { + emit_character_token(tokeniser, &u_fffd_str); + } else { + emit_character_token(tokeniser, &u_null_str); + } /* Advance past NUL */ parserutils_inputstream_advance(tokeniser->input, 1); - } else if (c == '\r') { + } else if (c == '\r' && tokeniser->content_model != HUBBUB_CONTENT_MODEL_PLAINTEXT) { error = parserutils_inputstream_peek( tokeniser->input, tokeniser->context.pending + len, -- cgit v1.2.3