diff options
author | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-06-14 07:35:44 +0530 |
---|---|---|
committer | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-07-09 10:04:21 +0530 |
commit | e68a4b8ac410f402d12308ce7d63083b78d7ee89 (patch) | |
tree | fd7a8bedb4a668dd1d801b3bde2d3c14381c5e36 /src | |
parent | d10b20d4f9fd2879e223de7a979535a77db2e9ce (diff) | |
download | libhubbub-e68a4b8ac410f402d12308ce7d63083b78d7ee89.tar.gz libhubbub-e68a4b8ac410f402d12308ce7d63083b78d7ee89.tar.bz2 |
Adding PLAINTEXT State & fixing the tester at places
Diffstat (limited to 'src')
-rw-r--r-- | src/tokeniser/tokeniser.c | 10 |
1 files changed, 7 insertions, 3 deletions
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, |