Oops, overzealous search-and-replace
[sgt/halibut] / bk_html.c
index 96a8982..7914024 100644 (file)
--- a/bk_html.c
+++ b/bk_html.c
@@ -834,7 +834,8 @@ void html_backend(paragraph *sourceform, keywordlist *keywords,
            for (s = sects.head; s; s = s->next) {
                if (s->file == f && s->text) {
                    for (p = s->text;
-                        p && (p == s->text || !is_heading_type(p->type));
+                        p && (p == s->text || p->type == para_Title ||
+                              !is_heading_type(p->type));
                         p = p->next) {
                        if (p->type == para_Config) {
                            if (!ustricmp(p->keyword, L"html-local-head")) {
@@ -1624,8 +1625,12 @@ static void html_words(htmloutput *ho, word *words, int flags,
       case word_LowerXref:
        if (flags & LINKS) {
            keyword *kwl = kw_lookup(keywords, w->text);
-           paragraph *p = kwl->para;
-           htmlsect *s = (htmlsect *)p->private_data;
+           paragraph *p;
+           htmlsect *s;
+
+           assert(kwl);
+           p = kwl->para;
+           s = (htmlsect *)p->private_data;
 
            assert(s);
 
@@ -1983,6 +1988,7 @@ static char *html_format(paragraph *p, char *template_string)
            } else if (p->keyword && *p->keyword && fmt == 'k')
                ws = p->keyword;
            else
+               /* %N comes here; also failure cases of other fmts */
                w = p->words;
 
            if (ws) {