[BACK]Return to html.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/html.c between version 1.246 and 1.249

version 1.246, 2018/12/15 19:30:26 version 1.249, 2019/01/06 04:55:09
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2011-2015, 2017-2019 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 78  static const struct htmldata htmltags[TAG_MAX] = {
Line 78  static const struct htmldata htmltags[TAG_MAX] = {
         {"dl",          HTML_NLALL | HTML_INDENT},          {"dl",          HTML_NLALL | HTML_INDENT},
         {"dt",          HTML_NLAROUND},          {"dt",          HTML_NLAROUND},
         {"dd",          HTML_NLAROUND | HTML_INDENT},          {"dd",          HTML_NLAROUND | HTML_INDENT},
           {"p",           HTML_NLAROUND | HTML_INDENT},
         {"pre",         HTML_NLALL | HTML_NOINDENT},          {"pre",         HTML_NLALL | HTML_NOINDENT},
         {"var",         0},          {"var",         0},
         {"cite",        0},          {"cite",        0},
Line 117  static void  print_ctag(struct html *, struct tag *);
Line 118  static void  print_ctag(struct html *, struct tag *);
 static  int      print_escape(struct html *, char);  static  int      print_escape(struct html *, char);
 static  int      print_encode(struct html *, const char *, const char *, int);  static  int      print_encode(struct html *, const char *, const char *, int);
 static  void     print_href(struct html *, const char *, const char *, int);  static  void     print_href(struct html *, const char *, const char *, int);
 static  void     print_metaf(struct html *, enum mandoc_esc);  
   
   
 void *  void *
Line 210  print_gen_head(struct html *h)
Line 210  print_gen_head(struct html *h)
         print_tagq(h, t);          print_tagq(h, t);
 }  }
   
 static void  void
 print_metaf(struct html *h, enum mandoc_esc deco)  print_metaf(struct html *h, enum mandoc_esc deco)
 {  {
         enum htmlfont    font;          enum htmlfont    font;
Line 236  print_metaf(struct html *h, enum mandoc_esc deco)
Line 236  print_metaf(struct html *h, enum mandoc_esc deco)
                 font = HTMLFONT_NONE;                  font = HTMLFONT_NONE;
                 break;                  break;
         default:          default:
                 abort();                  return;
         }          }
   
         if (h->metaf) {          if (h->metaf) {
Line 264  print_metaf(struct html *h, enum mandoc_esc deco)
Line 264  print_metaf(struct html *h, enum mandoc_esc deco)
         default:          default:
                 break;                  break;
         }          }
   }
   
   void
   html_close_paragraph(struct html *h)
   {
           struct tag      *t;
   
           for (t = h->tag; t != NULL; t = t->next) {
                   if (t->tag == TAG_P) {
                           print_tagq(h, t);
                           break;
                   }
           }
   }
   
   /*
    * ROFF_nf switches to no-fill mode, ROFF_fi to fill mode.
    * TOKEN_NONE does not switch.  The old mode is returned.
    */
   enum roff_tok
   html_fillmode(struct html *h, enum roff_tok want)
   {
           struct tag      *t;
           enum roff_tok    had;
   
           for (t = h->tag; t != NULL; t = t->next)
                   if (t->tag == TAG_PRE)
                           break;
   
           had = t == NULL ? ROFF_fi : ROFF_nf;
   
           if (want != had) {
                   switch (want) {
                   case ROFF_fi:
                           print_tagq(h, t);
                           break;
                   case ROFF_nf:
                           html_close_paragraph(h);
                           print_otag(h, TAG_PRE, "");
                           break;
                   case TOKEN_NONE:
                           break;
                   default:
                           abort();
                   }
           }
           return had;
 }  }
   
 char *  char *

Legend:
Removed from v.1.246  
changed lines
  Added in v.1.249

CVSweb