diff options
Diffstat (limited to 'src/tokeniser')
-rw-r--r-- | src/tokeniser/tokeniser.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/tokeniser/tokeniser.c b/src/tokeniser/tokeniser.c index da7153d..9e5b145 100644 --- a/src/tokeniser/tokeniser.c +++ b/src/tokeniser/tokeniser.c @@ -2266,12 +2266,7 @@ hubbub_error hubbub_tokeniser_handle_doctype_system_dq(hubbub_tokeniser *tokenis tokeniser->state = STATE_DATA; return emit_current_doctype(tokeniser, true); } else if (c == '\0') { - if (cdoc->public_id.len == 0) { - START_BUF(cdoc->system_id, u_fffd, sizeof(u_fffd)); - } else { - COLLECT(cdoc->system_id, - u_fffd, sizeof(u_fffd)); - } + COLLECT_MS(cdoc->system_id, u_fffd, sizeof(u_fffd)); } else if (c == '\r') { cptr = parserutils_inputstream_peek( tokeniser->input, @@ -2282,7 +2277,7 @@ hubbub_error hubbub_tokeniser_handle_doctype_system_dq(hubbub_tokeniser *tokenis return HUBBUB_OOD; } else if (cptr == PARSERUTILS_INPUTSTREAM_EOF || *((uint8_t *) cptr) != '\n') { - COLLECT(cdoc->system_id, &lf, sizeof(lf)); + COLLECT_MS(cdoc->system_id, &lf, sizeof(lf)); } } else { COLLECT_MS(cdoc->system_id, cptr, len); @@ -2314,12 +2309,7 @@ hubbub_error hubbub_tokeniser_handle_doctype_system_sq(hubbub_tokeniser *tokenis tokeniser->state = STATE_DATA; return emit_current_doctype(tokeniser, true); } else if (c == '\0') { - if (cdoc->public_id.len == 0) { - START_BUF(cdoc->system_id, u_fffd, sizeof(u_fffd)); - } else { - COLLECT(cdoc->system_id, - u_fffd, sizeof(u_fffd)); - } + COLLECT_MS(cdoc->system_id, u_fffd, sizeof(u_fffd)); } else if (c == '\r') { cptr = parserutils_inputstream_peek( tokeniser->input, @@ -2330,7 +2320,7 @@ hubbub_error hubbub_tokeniser_handle_doctype_system_sq(hubbub_tokeniser *tokenis return HUBBUB_OOD; } else if (cptr == PARSERUTILS_INPUTSTREAM_EOF || *((uint8_t *) cptr) != '\n') { - COLLECT(cdoc->system_id, &lf, sizeof(lf)); + COLLECT_MS(cdoc->system_id, &lf, sizeof(lf)); } } else { COLLECT_MS(cdoc->system_id, cptr, len); |