[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.58 and 1.63

version 1.58, 2011/01/01 12:59:17 version 1.63, 2011/01/12 10:43:22
Line 197  print_man_node(MAN_ARGS)
Line 197  print_man_node(MAN_ARGS)
                 child = man_root_pre(m, n, mh, h);                  child = man_root_pre(m, n, mh, h);
                 break;                  break;
         case (MAN_TEXT):          case (MAN_TEXT):
                   if ('\0' == *n->string) {
                           print_otag(h, TAG_P, 0, NULL);
                           return;
                   }
   
                   if (' ' == *n->string && MAN_LINE & n->flags)
                           print_otag(h, TAG_BR, 0, NULL);
   
                 print_text(h, n->string);                  print_text(h, n->string);
   
                 if (MANH_LITERAL & mh->fl)                  if (MANH_LITERAL & mh->fl)
                         print_otag(h, TAG_BR, 0, NULL);                          print_otag(h, TAG_BR, 0, NULL);
                 return;                  return;
         case (MAN_TBL):          case (MAN_TBL):
                 return;                  print_tbl(h, n->span);
                   break;
         default:          default:
                 /*                  /*
                  * Close out scope of font prior to opening a macro                   * Close out scope of font prior to opening a macro
Line 226  print_man_node(MAN_ARGS)
Line 236  print_man_node(MAN_ARGS)
   
         bufinit(h);          bufinit(h);
   
         if (MAN_ROOT == n->type)          switch (n->type) {
           case (MAN_ROOT):
                 man_root_post(m, n, mh, h);                  man_root_post(m, n, mh, h);
         else if (mans[n->tok].post)                  break;
                 (*mans[n->tok].post)(m, n, mh, h);          case (MAN_TBL):
                   break;
           default:
                   if (mans[n->tok].post)
                           (*mans[n->tok].post)(m, n, mh, h);
                   break;
           }
 }  }
   
   
Line 497  man_IP_pre(MAN_ARGS)
Line 514  man_IP_pre(MAN_ARGS)
         struct roffsu            su;          struct roffsu            su;
         struct htmlpair          tag;          struct htmlpair          tag;
         const struct man_node   *nn;          const struct man_node   *nn;
         int                      width;  
   
         /*          /*
          * This scattering of 1-BU margins and pads is to make sure that           * This scattering of 1-BU margins and pads is to make sure that
Line 515  man_IP_pre(MAN_ARGS)
Line 531  man_IP_pre(MAN_ARGS)
                 n->head->child : n->parent->head->child;                  n->head->child : n->parent->head->child;
   
         SCALE_HS_INIT(&su, INDENT);          SCALE_HS_INIT(&su, INDENT);
         width = 0;  
   
         /* Width is the last token. */          /* Width is the second token. */
   
         if (MAN_IP == n->tok && NULL != nn)          if (MAN_IP == n->tok && NULL != nn)
                 if (NULL != (nn = nn->next)) {                  if (NULL != (nn = nn->next))
                         for ( ; nn->next; nn = nn->next)                          a2width(nn, &su);
                                 /* Do nothing. */ ;  
                         width = a2width(nn, &su);  
                 }  
   
         /* Width is the first token. */          /* Width is the first token. */
   
Line 533  man_IP_pre(MAN_ARGS)
Line 545  man_IP_pre(MAN_ARGS)
                 while (nn && MAN_TEXT != nn->type)                  while (nn && MAN_TEXT != nn->type)
                         nn = nn->next;                          nn = nn->next;
                 if (nn)                  if (nn)
                         width = a2width(nn, &su);                          a2width(nn, &su);
         }          }
   
         if (MAN_BLOCK == n->type) {          if (MAN_BLOCK == n->type) {
Line 550  man_IP_pre(MAN_ARGS)
Line 562  man_IP_pre(MAN_ARGS)
   
         print_otag(h, TAG_TD, 0, NULL);          print_otag(h, TAG_TD, 0, NULL);
   
         /*          /* For IP, only print the first header element. */
          * Without a length string, we can print all of our children.  
          */  
   
         if ( ! width)          if (MAN_IP == n->tok && n->child)
                 return(1);                  print_man_node(m, n->child, mh, h);
   
         /*          /* For TP, only print next-line header elements. */
          * When a length has been specified, we need to carefully print  
          * our child context:  IP gets all children printed but the last  
          * (the width), while TP gets all children printed but the first  
          * (the width).  
          */  
   
         if (MAN_IP == n->tok)  
                 for (nn = n->child; nn->next; nn = nn->next)  
                         print_man_node(m, nn, mh, h);  
         if (MAN_TP == n->tok)          if (MAN_TP == n->tok)
                 for (nn = n->child->next; nn; nn = nn->next)                  for (nn = n->child; nn; nn = nn->next)
                         print_man_node(m, nn, mh, h);                          if (nn->line > n->line)
                                   print_man_node(m, nn, mh, h);
   
         return(0);          return(0);
 }  }

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.63

CVSweb