summaryrefslogtreecommitdiff
path: root/bk_xhtml.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2001-10-25 19:06:03 +0000
committerSimon Tatham <anakin@pobox.com>2001-10-25 19:06:03 +0000
commit63faea3d4c7f14d4c002bf4771375228641afa9d (patch)
treebb00070db4561079cda2baa2f04ea411d3d27b49 /bk_xhtml.c
parent936b19989b5cc8ded239ddfeca74550827296dd6 (diff)
downloadhalibut-63faea3d4c7f14d4c002bf4771375228641afa9d.zip
halibut-63faea3d4c7f14d4c002bf4771375228641afa9d.tar.gz
halibut-63faea3d4c7f14d4c002bf4771375228641afa9d.tar.bz2
halibut-63faea3d4c7f14d4c002bf4771375228641afa9d.tar.xz
Fix mis-aimed `next' pointers in various sections; appears to have
sorted out the HTML truncated-contents bug. [originally from svn r1327]
Diffstat (limited to 'bk_xhtml.c')
-rw-r--r--bk_xhtml.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/bk_xhtml.c b/bk_xhtml.c
index 548495f..e4a25bf 100644
--- a/bk_xhtml.c
+++ b/bk_xhtml.c
@@ -392,7 +392,14 @@ static void xhtml_ponder_layout(paragraph *p)
if (level>conf.leaf_level) { /* stick within the same file - link into currentsect */
assert(currentfile->is_leaf);
sect->file = currentfile;
+ while (currentsect && currentsect->level > level &&
+ currentsect->file==currentsect->parent->file) {
+ currentsect = currentsect->parent;
+ }
+ assert(currentsect);
currentsect->next = sect;
+ assert(currentsect->level == sect->level);
+ sect->parent = currentsect->parent;
currentsect = sect;
/* printf("connected '%s' to existing file '%s' [II]\n", sect->fragment, currentfile->filename);*/
} else { /* going sideways ... */