From 669a5e213ada30a4c7d0ba649e7a0c7f09a2d428 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Tue, 7 Oct 2003 23:47:57 +0000 Subject: [project @ 2003-10-07 23:47:57 by bursa] white-space: pre fixes. svn path=/import/netsurf/; revision=350 --- render/box.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/render/box.c b/render/box.c index 24b559132..9a9eb2def 100644 --- a/render/box.c +++ b/render/box.c @@ -381,7 +381,6 @@ struct box * convert_xml_to_box(xmlNode * n, struct content *content, /* white-space: pre */ char *text = tolat1_pre(n->content); char *current; - bool first = true; assert(parent_style->white_space == CSS_WHITE_SPACE_PRE); for (current = text; *current; current++) if (*current == ' ' || *current == '\t') @@ -391,11 +390,11 @@ struct box * convert_xml_to_box(xmlNode * n, struct content *content, size_t len = strcspn(current, "\r\n"); char old = current[len]; current[len] = 0; - if (!first || !inline_container) { + if (!inline_container) { inline_container = box_create(0, 0, 0); inline_container->type = BOX_INLINE_CONTAINER; + box_add_child(parent, inline_container); } - first = false; box = box_create(parent_style, status.href, title); box->type = BOX_INLINE; box->style_clone = 1; @@ -403,13 +402,15 @@ struct box * convert_xml_to_box(xmlNode * n, struct content *content, box->length = strlen(box->text); box->font = font_open(content->data.html.fonts, box->style); box_add_child(inline_container, box); - box_add_child(parent, inline_container); current[len] = old; current += len; - if (current[0] == '\r' && current[1] == '\n') + if (current[0] == '\r' && current[1] == '\n') { current += 2; - else if (current[0] == '\n') + inline_container = 0; + } else if (current[0] != 0) { current++; + inline_container = 0; + } } while (*current); xfree(text); goto end; -- cgit v1.2.3