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

Diff for /mandoc/man_html.c between version 1.72 and 1.75

version 1.72, 2011/05/17 11:34:31 version 1.75, 2011/06/29 15:38:09
Line 53  struct htmlman {
Line 53  struct htmlman {
         int             (*post)(MAN_ARGS);          int             (*post)(MAN_ARGS);
 };  };
   
   static  void              print_bvspace(struct html *,
                                   const struct man_node *);
 static  void              print_man(MAN_ARGS);  static  void              print_man(MAN_ARGS);
 static  void              print_man_head(MAN_ARGS);  static  void              print_man_head(MAN_ARGS);
 static  void              print_man_nodelist(MAN_ARGS);  static  void              print_man_nodelist(MAN_ARGS);
Line 114  static const struct htmlman mans[MAN_MAX] = {
Line 116  static const struct htmlman mans[MAN_MAX] = {
         { man_ign_pre, NULL }, /* ft */          { man_ign_pre, NULL }, /* ft */
 };  };
   
   /*
    * Printing leading vertical space before a block.
    * This is used for the paragraph macros.
    * The rules are pretty simple, since there's very little nesting going
    * on here.  Basically, if we're the first within another block (SS/SH),
    * then don't emit vertical space.  If we are (RS), then do.  If not the
    * first, print it.
    */
   static void
   print_bvspace(struct html *h, const struct man_node *n)
   {
   
           if (n->body && n->body->child)
                   if (MAN_TBL == n->body->child->type)
                           return;
   
           if (MAN_ROOT == n->parent->type || MAN_RS != n->parent->tok)
                   if (NULL == n->prev)
                           return;
   
           print_otag(h, TAG_P, 0, NULL);
   }
   
 void  void
 html_man(void *arg, const struct man *m)  html_man(void *arg, const struct man *m)
 {  {
Line 135  html_man(void *arg, const struct man *m)
Line 159  html_man(void *arg, const struct man *m)
         printf("\n");          printf("\n");
 }  }
   
   
 static void  static void
 print_man(MAN_ARGS)  print_man(MAN_ARGS)
 {  {
Line 391  man_br_pre(MAN_ARGS)
Line 414  man_br_pre(MAN_ARGS)
         SCALE_VS_INIT(&su, 1);          SCALE_VS_INIT(&su, 1);
   
         if (MAN_sp == n->tok) {          if (MAN_sp == n->tok) {
                 if (n->child)                  if (NULL != (n = n->child))
                         a2roffsu(n->child->string, &su, SCALE_VS);                          if ( ! a2roffsu(n->string, &su, SCALE_VS))
                                   SCALE_VS_INIT(&su, atoi(n->string));
         } else          } else
                 su.scale = 0;                  su.scale = 0;
   
Line 514  man_PP_pre(MAN_ARGS)
Line 538  man_PP_pre(MAN_ARGS)
   
         if (MAN_HEAD == n->type)          if (MAN_HEAD == n->type)
                 return(0);                  return(0);
         else if (MAN_BODY == n->type && n->prev)          else if (MAN_BLOCK == n->type)
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
   
         return(1);          return(1);
 }  }
Line 563  man_IP_pre(MAN_ARGS)
Line 587  man_IP_pre(MAN_ARGS)
         }          }
   
         if (MAN_BLOCK == n->type) {          if (MAN_BLOCK == n->type) {
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
                 print_otag(h, TAG_TABLE, 0, NULL);                  print_otag(h, TAG_TABLE, 0, NULL);
                 bufinit(h);                  bufinit(h);
                 bufcat_su(h, "width", &su);                  bufcat_su(h, "width", &su);
Line 614  man_HP_pre(MAN_ARGS)
Line 638  man_HP_pre(MAN_ARGS)
                 print_otag(h, TAG_TD, 0, NULL);                  print_otag(h, TAG_TD, 0, NULL);
                 return(0);                  return(0);
         } else if (MAN_BLOCK == n->type) {          } else if (MAN_BLOCK == n->type) {
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
                 print_otag(h, TAG_TABLE, 0, NULL);                  print_otag(h, TAG_TABLE, 0, NULL);
                 bufcat_su(h, "width", &su);                  bufcat_su(h, "width", &su);
                 PAIR_STYLE_INIT(&tag, h);                  PAIR_STYLE_INIT(&tag, h);

Legend:
Removed from v.1.72  
changed lines
  Added in v.1.75

CVSweb