From 03fcb340d22b423440633017f7e43dc89cd015e8 Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 2 Jul 2004 18:45:05 +0000 Subject: [PATCH] Avoid generating an index section if there actually is no index. git-svn-id: svn://svn.tartarus.org/sgt/halibut@4321 cda61777-01e9-0310-a592-d414129be87e --- bk_html.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/bk_html.c b/bk_html.c index 7ae80b5..23219be 100644 --- a/bk_html.c +++ b/bk_html.c @@ -464,6 +464,7 @@ void html_backend(paragraph *sourceform, keywordlist *keywords, htmlconfig conf; htmlfilelist files = { NULL, NULL, NULL, NULL, NULL }; htmlsectlist sects = { NULL, NULL }, nonsects = { NULL, NULL }; + int has_index; IGNORE(unused); @@ -532,16 +533,19 @@ void html_backend(paragraph *sourceform, keywordlist *keywords, sect->fragment); } - /* And the index. */ - sect = html_new_sect(§s, NULL); - sect->text = NULL; - sect->type = INDEX; - sect->parent = topsect; - html_file_section(&conf, &files, sect, 0); /* peer of chapters */ - sect->fragment = utoa_dup(conf.index_text, CS_ASCII); - sect->fragment = html_sanitise_fragment(&files, sect->file, - sect->fragment); - files.index = sect->file; + /* And the index, if we have one. */ + has_index = (count234(idx->entries) > 0); + if (has_index) { + sect = html_new_sect(§s, NULL); + sect->text = NULL; + sect->type = INDEX; + sect->parent = topsect; + html_file_section(&conf, &files, sect, 0); /* peer of chapters */ + sect->fragment = utoa_dup(conf.index_text, CS_ASCII); + sect->fragment = html_sanitise_fragment(&files, sect->file, + sect->fragment); + files.index = sect->file; + } } /* @@ -862,13 +866,15 @@ void html_backend(paragraph *sourceform, keywordlist *keywords, html_text(&ho, conf.nav_separator); - if (f != files.index) { - element_open(&ho, "a"); - element_attr(&ho, "href", files.index->filename); + if (has_index) { + if (f != files.index) { + element_open(&ho, "a"); + element_attr(&ho, "href", files.index->filename); + } + html_text(&ho, conf.index_text); + if (f != files.index) + element_close(&ho, "a"); } - html_text(&ho, conf.index_text); - if (f != files.index) - element_close(&ho, "a"); html_text(&ho, conf.nav_separator); -- 2.11.0