From 76cfea6e44fd2ea8334ef3039cb2934127f848d0 Mon Sep 17 00:00:00 2001 From: Andrew Sidwell Date: Fri, 11 Jul 2008 13:24:58 +0000 Subject: Fix whitespace processing. svn path=/trunk/hubbub/; revision=4592 --- src/treebuilder/treebuilder.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index e958098..f330341 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -414,23 +414,26 @@ bool process_characters_expect_whitespace(hubbub_treebuilder *treebuilder, /** \todo UTF-16 */ + printf("well hello there, I see I'm not being inserted...\n"); + for (c = 0; c < len; c++) { if (data[c] != 0x09 && data[c] != 0x0A && data[c] != 0x0C && data[c] != 0x20) break; } - /* Non-whitespace characters in token, so reprocess */ - if (c != len) { - if (c > 0 && insert_into_current_node) { - hubbub_string temp; - temp.type = HUBBUB_STRING_OFF; - temp.data.off = token->data.character.data.off; - temp.len = c; + if (c > 0 && insert_into_current_node) { + hubbub_string temp; - append_text(treebuilder, &temp); - } + temp.type = HUBBUB_STRING_OFF; + temp.data.off = token->data.character.data.off; + temp.len = c; + append_text(treebuilder, &temp); + } + + /* Non-whitespace characters in token, so reprocess */ + if (c != len) { /* Update token data to strip leading whitespace */ ((hubbub_token *) token)->data.character.data.off += c; ((hubbub_token *) token)->data.character.len -= c; -- cgit v1.2.3