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

Diff for /mandoc/mdoc_html.c between version 1.156 and 1.165

version 1.156, 2011/04/04 15:33:03 version 1.165, 2011/04/23 09:10:50
Line 751  mdoc_nm_pre(MDOC_ARGS)
Line 751  mdoc_nm_pre(MDOC_ARGS)
 static int  static int
 mdoc_xr_pre(MDOC_ARGS)  mdoc_xr_pre(MDOC_ARGS)
 {  {
         struct htmlpair          tag[2];          struct htmlpair  tag[2];
         const struct mdoc_node  *nn;  
   
         if (NULL == n->child)          if (NULL == n->child)
                 return(0);                  return(0);
Line 768  mdoc_xr_pre(MDOC_ARGS)
Line 767  mdoc_xr_pre(MDOC_ARGS)
         } else          } else
                 print_otag(h, TAG_A, 1, tag);                  print_otag(h, TAG_A, 1, tag);
   
         nn = n->child;          n = n->child;
         print_text(h, nn->string);          print_text(h, n->string);
   
         if (NULL == (nn = nn->next))          if (NULL == (n = n->next))
                 return(0);                  return(0);
   
         h->flags |= HTML_NOSPACE;          h->flags |= HTML_NOSPACE;
         print_text(h, "(");          print_text(h, "(");
         h->flags |= HTML_NOSPACE;          h->flags |= HTML_NOSPACE;
         print_text(h, nn->string);          print_text(h, n->string);
         h->flags |= HTML_NOSPACE;          h->flags |= HTML_NOSPACE;
         print_text(h, ")");          print_text(h, ")");
         return(0);          return(0);
Line 1087  mdoc_bl_pre(MDOC_ARGS)
Line 1086  mdoc_bl_pre(MDOC_ARGS)
 static int  static int
 mdoc_ex_pre(MDOC_ARGS)  mdoc_ex_pre(MDOC_ARGS)
 {  {
         const struct mdoc_node  *nn;          struct tag      *t;
         struct tag              *t;          struct htmlpair  tag;
         struct htmlpair          tag;          int              nchild;
   
         if (n->prev)          if (n->prev)
                 print_otag(h, TAG_BR, 0, NULL);                  print_otag(h, TAG_BR, 0, NULL);
Line 1097  mdoc_ex_pre(MDOC_ARGS)
Line 1096  mdoc_ex_pre(MDOC_ARGS)
         PAIR_CLASS_INIT(&tag, "utility");          PAIR_CLASS_INIT(&tag, "utility");
   
         print_text(h, "The");          print_text(h, "The");
         for (nn = n->child; nn; nn = nn->next) {  
           nchild = n->nchild;
           for (n = n->child; n; n = n->next) {
                   assert(MDOC_TEXT == n->type);
   
                 t = print_otag(h, TAG_B, 1, &tag);                  t = print_otag(h, TAG_B, 1, &tag);
                 print_text(h, nn->string);                  print_text(h, n->string);
                 print_tagq(h, t);                  print_tagq(h, t);
   
                 h->flags |= HTML_NOSPACE;                  if (nchild > 2 && n->next) {
                           h->flags |= HTML_NOSPACE;
                 if (nn->next && NULL == nn->next->next)  
                         print_text(h, ", and");  
                 else if (nn->next)  
                         print_text(h, ",");                          print_text(h, ",");
                 else                  }
                         h->flags &= ~HTML_NOSPACE;  
                   if (n->next && NULL == n->next->next)
                           print_text(h, "and");
         }          }
   
         if (n->child && n->child->next)          if (nchild > 1)
                 print_text(h, "utilities exit");                  print_text(h, "utilities exit");
         else          else
                 print_text(h, "utility exits");                  print_text(h, "utility exits");
Line 1168  mdoc_d1_pre(MDOC_ARGS)
Line 1170  mdoc_d1_pre(MDOC_ARGS)
 static int  static int
 mdoc_sx_pre(MDOC_ARGS)  mdoc_sx_pre(MDOC_ARGS)
 {  {
         struct htmlpair          tag[2];          struct htmlpair  tag[2];
         const struct mdoc_node  *nn;          char             buf[BUFSIZ];
         char                     buf[BUFSIZ];  
   
         strlcpy(buf, "#", BUFSIZ);          strlcpy(buf, "#", BUFSIZ);
         for (nn = n->child; nn; nn = nn->next) {          for (n = n->child; n; n = n->next) {
                 html_idcat(buf, nn->string, BUFSIZ);                  html_idcat(buf, n->string, BUFSIZ);
                 if (nn->next)                  if (n->next)
                         html_idcat(buf, " ", BUFSIZ);                          html_idcat(buf, " ", BUFSIZ);
         }          }
   
Line 1404  mdoc_fa_pre(MDOC_ARGS)
Line 1405  mdoc_fa_pre(MDOC_ARGS)
 static int  static int
 mdoc_fd_pre(MDOC_ARGS)  mdoc_fd_pre(MDOC_ARGS)
 {  {
         struct htmlpair  tag;          struct htmlpair  tag[2];
           char             buf[BUFSIZ];
           size_t           sz;
           int              i;
           struct tag      *t;
   
         synopsis_pre(h, n);          synopsis_pre(h, n);
   
         PAIR_CLASS_INIT(&tag, "macro");          if (NULL == (n = n->child))
         print_otag(h, TAG_B, 1, &tag);                  return(0);
         return(1);  
           assert(MDOC_TEXT == n->type);
   
           if (strcmp(n->string, "#include")) {
                   PAIR_CLASS_INIT(&tag[0], "macro");
                   print_otag(h, TAG_B, 1, tag);
                   return(1);
           }
   
           PAIR_CLASS_INIT(&tag[0], "includes");
           print_otag(h, TAG_B, 1, tag);
           print_text(h, n->string);
   
           if (NULL != (n = n->next)) {
                   assert(MDOC_TEXT == n->type);
                   strlcpy(buf, '<' == *n->string || '"' == *n->string ?
                                   n->string + 1 : n->string, BUFSIZ);
   
                   sz = strlen(buf);
                   if (sz && ('>' == buf[sz - 1] || '"' == buf[sz - 1]))
                           buf[sz - 1] = '\0';
   
                   PAIR_CLASS_INIT(&tag[0], "link-includes");
                   bufinit(h);
   
                   i = 1;
                   if (h->base_includes) {
                           buffmt_includes(h, buf);
                           PAIR_HREF_INIT(&tag[i], h->buf);
                           i++;
                   }
   
                   t = print_otag(h, TAG_A, i, tag);
                   print_text(h, n->string);
                   print_tagq(h, t);
   
                   n = n->next;
           }
   
           for ( ; n; n = n->next) {
                   assert(MDOC_TEXT == n->type);
                   print_text(h, n->string);
           }
   
           return(0);
 }  }
   
   
Line 1451  mdoc_ft_pre(MDOC_ARGS)
Line 1500  mdoc_ft_pre(MDOC_ARGS)
 static int  static int
 mdoc_fn_pre(MDOC_ARGS)  mdoc_fn_pre(MDOC_ARGS)
 {  {
         struct tag              *t;          struct tag      *t;
         struct htmlpair          tag[2];          struct htmlpair  tag[2];
         const struct mdoc_node  *nn;          char             nbuf[BUFSIZ];
         char                     nbuf[BUFSIZ];          const char      *sp, *ep;
         const char              *sp, *ep;          int              sz, i, pretty;
         int                      sz, i;  
   
           pretty = MDOC_SYNPRETTY & n->flags;
         synopsis_pre(h, n);          synopsis_pre(h, n);
   
         /* Split apart into type and name. */          /* Split apart into type and name. */
Line 1509  mdoc_fn_pre(MDOC_ARGS)
Line 1558  mdoc_fn_pre(MDOC_ARGS)
   
         h->flags |= HTML_NOSPACE;          h->flags |= HTML_NOSPACE;
         print_text(h, "(");          print_text(h, "(");
           h->flags |= HTML_NOSPACE;
   
         bufinit(h);          bufinit(h);
         PAIR_CLASS_INIT(&tag[0], "farg");          PAIR_CLASS_INIT(&tag[0], "farg");
         bufcat_style(h, "white-space", "nowrap");          bufcat_style(h, "white-space", "nowrap");
         PAIR_STYLE_INIT(&tag[1], h);          PAIR_STYLE_INIT(&tag[1], h);
   
         for (nn = n->child->next; nn; nn = nn->next) {          for (n = n->child->next; n; n = n->next) {
                 i = 1;                  i = 1;
                 if (MDOC_SYNPRETTY & n->flags)                  if (MDOC_SYNPRETTY & n->flags)
                         i = 2;                          i = 2;
                 t = print_otag(h, TAG_I, i, tag);                  t = print_otag(h, TAG_I, i, tag);
                 print_text(h, nn->string);                  print_text(h, n->string);
                 print_tagq(h, t);                  print_tagq(h, t);
                 if (nn->next) {                  if (n->next) {
                         h->flags |= HTML_NOSPACE;                          h->flags |= HTML_NOSPACE;
                         print_text(h, ",");                          print_text(h, ",");
                 }                  }
Line 1531  mdoc_fn_pre(MDOC_ARGS)
Line 1581  mdoc_fn_pre(MDOC_ARGS)
         h->flags |= HTML_NOSPACE;          h->flags |= HTML_NOSPACE;
         print_text(h, ")");          print_text(h, ")");
   
         if (MDOC_SYNPRETTY & n->flags) {          if (pretty) {
                 h->flags |= HTML_NOSPACE;                  h->flags |= HTML_NOSPACE;
                 print_text(h, ";");                  print_text(h, ";");
         }          }
Line 1605  mdoc_sp_pre(MDOC_ARGS)
Line 1655  mdoc_sp_pre(MDOC_ARGS)
 static int  static int
 mdoc_lk_pre(MDOC_ARGS)  mdoc_lk_pre(MDOC_ARGS)
 {  {
         const struct mdoc_node  *nn;          struct htmlpair  tag[2];
         struct htmlpair          tag[2];  
   
         nn = n->child;          if (NULL == (n = n->child))
                   return(0);
   
           assert(MDOC_TEXT == n->type);
   
         PAIR_CLASS_INIT(&tag[0], "link-ext");          PAIR_CLASS_INIT(&tag[0], "link-ext");
         PAIR_HREF_INIT(&tag[1], nn->string);          PAIR_HREF_INIT(&tag[1], n->string);
   
         print_otag(h, TAG_A, 2, tag);          print_otag(h, TAG_A, 2, tag);
   
         if (NULL == nn || NULL == nn->next)          for (n = n->next; n; n = n->next) {
                 return(1);                  assert(MDOC_TEXT == n->type);
                   print_text(h, n->string);
           }
   
         for (nn = nn->next; nn; nn = nn->next)  
                 print_text(h, nn->string);  
   
         return(0);          return(0);
 }  }
   
Line 1628  mdoc_lk_pre(MDOC_ARGS)
Line 1680  mdoc_lk_pre(MDOC_ARGS)
 static int  static int
 mdoc_mt_pre(MDOC_ARGS)  mdoc_mt_pre(MDOC_ARGS)
 {  {
         struct htmlpair          tag[2];          struct htmlpair  tag[2];
         struct tag              *t;          struct tag      *t;
         const struct mdoc_node  *nn;  
   
         PAIR_CLASS_INIT(&tag[0], "link-mail");          PAIR_CLASS_INIT(&tag[0], "link-mail");
   
         for (nn = n->child; nn; nn = nn->next) {          for (n = n->child; n; n = n->next) {
                   assert(MDOC_TEXT == n->type);
   
                 bufinit(h);                  bufinit(h);
                 bufcat(h, "mailto:");                  bufcat(h, "mailto:");
                 bufcat(h, nn->string);                  bufcat(h, n->string);
   
                 PAIR_HREF_INIT(&tag[1], h->buf);                  PAIR_HREF_INIT(&tag[1], h->buf);
                 t = print_otag(h, TAG_A, 2, tag);                  t = print_otag(h, TAG_A, 2, tag);
                 print_text(h, nn->string);                  print_text(h, n->string);
                 print_tagq(h, t);                  print_tagq(h, t);
         }          }
   
Line 1728  mdoc_in_pre(MDOC_ARGS)
Line 1782  mdoc_in_pre(MDOC_ARGS)
   
                 if (h->base_includes) {                  if (h->base_includes) {
                         buffmt_includes(h, n->string);                          buffmt_includes(h, n->string);
                         PAIR_HREF_INIT(&tag[i++], h->buf);                          PAIR_HREF_INIT(&tag[i], h->buf);
                           i++;
                 }                  }
   
                 t = print_otag(h, TAG_A, i, tag);                  t = print_otag(h, TAG_A, i, tag);
Line 1766  mdoc_ic_pre(MDOC_ARGS)
Line 1821  mdoc_ic_pre(MDOC_ARGS)
 static int  static int
 mdoc_rv_pre(MDOC_ARGS)  mdoc_rv_pre(MDOC_ARGS)
 {  {
         const struct mdoc_node  *nn;          struct htmlpair  tag;
         struct htmlpair          tag;          struct tag      *t;
         struct tag              *t;          int              nchild;
   
         if (n->prev)          if (n->prev)
                 print_otag(h, TAG_BR, 0, NULL);                  print_otag(h, TAG_BR, 0, NULL);
   
           PAIR_CLASS_INIT(&tag, "fname");
   
         print_text(h, "The");          print_text(h, "The");
   
         for (nn = n->child; nn; nn = nn->next) {          nchild = n->nchild;
                 PAIR_CLASS_INIT(&tag, "fname");          for (n = n->child; n; n = n->next) {
                   assert(MDOC_TEXT == n->type);
   
                 t = print_otag(h, TAG_B, 1, &tag);                  t = print_otag(h, TAG_B, 1, &tag);
                 print_text(h, nn->string);                  print_text(h, n->string);
                 print_tagq(h, t);                  print_tagq(h, t);
   
                 h->flags |= HTML_NOSPACE;                  h->flags |= HTML_NOSPACE;
                 if (nn->next && NULL == nn->next->next)                  print_text(h, "()");
                         print_text(h, "(), and");  
                 else if (nn->next)                  if (nchild > 2 && n->next) {
                         print_text(h, "(),");                          h->flags |= HTML_NOSPACE;
                 else                          print_text(h, ",");
                         print_text(h, "()");                  }
   
                   if (n->next && NULL == n->next->next)
                           print_text(h, "and");
         }          }
   
         if (n->child && n->child->next)          if (nchild > 1)
                 print_text(h, "functions return");                  print_text(h, "functions return");
         else          else
                 print_text(h, "function returns");                  print_text(h, "function returns");

Legend:
Removed from v.1.156  
changed lines
  Added in v.1.165

CVSweb