diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/treebuilder/element-type.c | 19 | ||||
-rw-r--r-- | src/treebuilder/element-type.h | 8 | ||||
-rw-r--r-- | src/treebuilder/treebuilder.c | 19 | ||||
-rw-r--r-- | test/tokeniser2.c | 4 | ||||
-rw-r--r-- | test/tokeniser3.c | 4 |
6 files changed, 32 insertions, 24 deletions
@@ -6,7 +6,7 @@ # Component settings COMPONENT := hubbub -COMPONENT_VERSION := 0.3.7 +COMPONENT_VERSION := 0.3.8 # Default to a static library COMPONENT_TYPE ?= lib-static diff --git a/src/treebuilder/element-type.c b/src/treebuilder/element-type.c index f6d3247..7e2772c 100644 --- a/src/treebuilder/element-type.c +++ b/src/treebuilder/element-type.c @@ -28,3 +28,22 @@ element_type element_type_from_name( return value->type; } + +/** + * Convert an element type to a name + * + * \param type The element type + * \return Pointer to name + */ +const char *element_type_to_name(element_type type) +{ + size_t i; + + for (i = 0; i < sizeof(wordlist) / sizeof(wordlist[0]); i++) { + if (wordlist[i].type == type) { + return wordlist[i].name; + } + } + + return "UNKNOWN"; +} diff --git a/src/treebuilder/element-type.h b/src/treebuilder/element-type.h index 93b168c..75612fd 100644 --- a/src/treebuilder/element-type.h +++ b/src/treebuilder/element-type.h @@ -53,5 +53,13 @@ element_type element_type_from_name( hubbub_treebuilder *treebuilder, const hubbub_string *tag_name); +/** + * Convert an element type to a name + * + * \param type The element type + * \return Pointer to name + */ +const char *element_type_to_name(element_type type); + #endif diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index 2d2d047..f11875e 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -1397,24 +1397,5 @@ void formatting_list_dump(hubbub_treebuilder *treebuilder, FILE *fp) } } -/** - * Convert an element type to a name - * - * \param type The element type - * \return Pointer to name - */ -const char *element_type_to_name(element_type type) -{ - size_t i; - - for (i = 0; - i < sizeof(name_type_map) / sizeof(name_type_map[0]); - i++) { - if (name_type_map[i].type == type) - return name_type_map[i].name; - } - - return "UNKNOWN"; -} #endif diff --git a/test/tokeniser2.c b/test/tokeniser2.c index f38f7ab..f468d1c 100644 --- a/test/tokeniser2.c +++ b/test/tokeniser2.c @@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) /* Expected token only contained part of the data * Calculate how much is left, then try again with * the next expected token */ - hubbub_token t; + hubbub_token t = *token; t.type = HUBBUB_TOKEN_CHARACTER; t.data.character.ptr += len; @@ -446,7 +446,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) ctx->char_off = 0; - token_handler(&t, pw); + return token_handler(&t, pw); } else if (strlen(expstr + ctx->char_off) > token->data.character.len) { /* Tokeniser output only contained part of the data diff --git a/test/tokeniser3.c b/test/tokeniser3.c index 416ff5d..eb921ce 100644 --- a/test/tokeniser3.c +++ b/test/tokeniser3.c @@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) /* Expected token only contained part of the data * Calculate how much is left, then try again with * the next expected token */ - hubbub_token t; + hubbub_token t = *token; t.type = HUBBUB_TOKEN_CHARACTER; t.data.character.ptr += len; @@ -455,7 +455,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) ctx->char_off = 0; - token_handler(&t, pw); + return token_handler(&t, pw); } else if (strlen(expstr + ctx->char_off) > token->data.character.len) { /* Tokeniser output only contained part of the data |