Simplify treatment of the copyright notice, now I've also simplified
[sgt/halibut] / bk_man.c
index 876ecb5..9a18d20 100644 (file)
--- a/bk_man.c
+++ b/bk_man.c
@@ -62,7 +62,6 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
                 indexdata *idx) {
     paragraph *p;
     FILE *fp;
-    char const *sep;
     manconfig conf;
 
     IGNORE(keywords);                 /* we don't happen to need this */
@@ -90,40 +89,23 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
        }
 
     /* .TH name-of-program manual-section */
-    {
+    fprintf(fp, ".TH");
+    if (conf.th && *conf.th) {
        char *c;
-       if (conf.th && *conf.th) {
-           wchar_t *wp;
-           fprintf(fp, ".TH");
-
-           for (wp = conf.th; *wp; wp = uadv(wp)) {
-               fputs(" \"", fp);
-               man_convert(wp, 0, &c, QUOTE_QUOTES);
-               fputs(c, fp);
-               sfree(c);
-               fputc('"', fp);
-           }
-           fputc('\n', fp);
+       wchar_t *wp;
+
+       for (wp = conf.th; *wp; wp = uadv(wp)) {
+           fputs(" \"", fp);
+           man_convert(wp, 0, &c, QUOTE_QUOTES);
+           fputs(c, fp);
+           sfree(c);
+           fputc('"', fp);
        }
     }
+    fputc('\n', fp);
 
     fprintf(fp, ".UC\n");
 
-    /* Do the preamble and copyright */
-    sep = "";
-    for (p = sourceform; p; p = p->next)
-       if (p->type == para_Preamble) {
-           fprintf(fp, "%s", sep);
-           man_text(fp, p->words, TRUE, 0);
-           sep = "\n";
-       }
-    for (p = sourceform; p; p = p->next)
-       if (p->type == para_Copyright) {
-           fprintf(fp, "%s", sep);
-           man_text(fp, p->words, TRUE, 0);
-           sep = "\n";
-       }
-
     for (p = sourceform; p; p = p->next) switch (p->type) {
        /*
         * Things we ignore because we've already processed them or
@@ -133,8 +115,6 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
       case para_BR:
       case para_Biblio:                       /* only touch BiblioCited */
       case para_VersionID:
-      case para_Copyright:
-      case para_Preamble:
       case para_NoCite:
       case para_Title:
        break;
@@ -147,6 +127,7 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
       case para_UnnumberedChapter:
       case para_Heading:
       case para_Subsect:
+
        {
            int depth;
            if (p->type == para_Subsect)
@@ -179,6 +160,7 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
         * Normal paragraphs.
         */
       case para_Normal:
+      case para_Copyright:
        fprintf(fp, ".PP\n");
        man_text(fp, p->words, TRUE, 0);
        break;
@@ -224,9 +206,11 @@ void man_backend(paragraph *sourceform, keywordlist *keywords,
        break;
 
       case para_LcontPush:
+      case para_QuotePush:
        fprintf(fp, ".RS\n");
        break;
       case para_LcontPop:
+      case para_QuotePop:
        fprintf(fp, ".RE\n");
        break;
     }