From 29279e71b7a946325de2c59b37a298cc1d43d461 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca <fonseca@diku.dk> Date: Mon, 2 Jan 2006 17:20:39 +0100 Subject: [PATCH] Add SGML_TOKEN_INCOMPLETE and handle it in the parser --- src/dom/sgml/parser.c | 6 ++++++ src/dom/sgml/scanner.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/dom/sgml/parser.c b/src/dom/sgml/parser.c index fa5cee060..88a59ea51 100644 --- a/src/dom/sgml/parser.c +++ b/src/dom/sgml/parser.c @@ -215,6 +215,9 @@ parse_sgml_attributes(struct dom_stack *stack, struct dom_scanner *scanner) skip_dom_scanner_token(scanner); break; + case SGML_TOKEN_INCOMPLETE: + return SGML_PARSER_CODE_INCOMPLETE; + default: skip_dom_scanner_token(scanner); } @@ -344,6 +347,9 @@ parse_sgml_plain(struct dom_stack *stack, struct dom_scanner *scanner) skip_dom_scanner_token(scanner); break; + case SGML_TOKEN_INCOMPLETE: + return SGML_PARSER_CODE_INCOMPLETE; + case SGML_TOKEN_SPACE: case SGML_TOKEN_TEXT: default: diff --git a/src/dom/sgml/scanner.h b/src/dom/sgml/scanner.h index 492cb2640..3857ad78e 100644 --- a/src/dom/sgml/scanner.h +++ b/src/dom/sgml/scanner.h @@ -48,6 +48,10 @@ enum sgml_token_type { /* A special token for unrecognized strings */ SGML_TOKEN_GARBAGE, + /* A special token for marking that it is assummed that the token is + * not complete. Only meaningful if scanner->complete is incomplete. */ + SGML_TOKEN_INCOMPLETE, + /* Token type used internally when scanning to signal that the token * should not be recorded in the scanners token table. */ SGML_TOKEN_SKIP,