[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.153 and 1.155

version 1.153, 2018/07/27 17:49:31 version 1.155, 2018/08/17 20:33:37
Line 39 
Line 39 
                           const struct roff_node *n, \                            const struct roff_node *n, \
                           struct html *h                            struct html *h
   
 struct  htmlman {  struct  man_html_act {
         int             (*pre)(MAN_ARGS);          int             (*pre)(MAN_ARGS);
         int             (*post)(MAN_ARGS);          int             (*post)(MAN_ARGS);
 };  };
Line 70  static void    man_root_post(const struct roff_meta *,
Line 70  static void    man_root_post(const struct roff_meta *,
 static  void              man_root_pre(const struct roff_meta *,  static  void              man_root_pre(const struct roff_meta *,
                                 struct html *);                                  struct html *);
   
 static  const struct htmlman __mans[MAN_MAX - MAN_TH] = {  static  const struct man_html_act man_html_acts[MAN_MAX - MAN_TH] = {
         { NULL, NULL }, /* TH */          { NULL, NULL }, /* TH */
         { man_SH_pre, NULL }, /* SH */          { man_SH_pre, NULL }, /* SH */
         { man_SS_pre, NULL }, /* SS */          { man_SS_pre, NULL }, /* SS */
         { man_IP_pre, NULL }, /* TP */          { man_IP_pre, NULL }, /* TP */
           { man_IP_pre, NULL }, /* TQ */
         { man_PP_pre, NULL }, /* LP */          { man_PP_pre, NULL }, /* LP */
         { man_PP_pre, NULL }, /* PP */          { man_PP_pre, NULL }, /* PP */
         { man_PP_pre, NULL }, /* P */          { man_PP_pre, NULL }, /* P */
Line 108  static const struct htmlman __mans[MAN_MAX - MAN_TH] =
Line 109  static const struct htmlman __mans[MAN_MAX - MAN_TH] =
         { man_UR_pre, NULL }, /* MT */          { man_UR_pre, NULL }, /* MT */
         { NULL, NULL }, /* ME */          { NULL, NULL }, /* ME */
 };  };
 static  const struct htmlman *const mans = __mans - MAN_TH;  
   
   
 /*  /*
Line 317  print_man_node(MAN_ARGS)
Line 317  print_man_node(MAN_ARGS)
                 }                  }
   
                 assert(n->tok >= MAN_TH && n->tok < MAN_MAX);                  assert(n->tok >= MAN_TH && n->tok < MAN_MAX);
                 if (mans[n->tok].pre)                  if (man_html_acts[n->tok - MAN_TH].pre != NULL)
                         child = (*mans[n->tok].pre)(man, n, h);                          child = (*man_html_acts[n->tok - MAN_TH].pre)(man,
                               n, h);
   
                 /* Some block macros resume .nf in the body. */                  /* Some block macros resume .nf in the body. */
                 if (save_fillmode && n->type == ROFFT_BODY)                  if (save_fillmode && n->type == ROFFT_BODY)
Line 518  man_IP_pre(MAN_ARGS)
Line 519  man_IP_pre(MAN_ARGS)
                 return 1;                  return 1;
         }          }
   
         /* FIXME: width specification. */  
   
         print_otag(h, TAG_DT, "");          print_otag(h, TAG_DT, "");
   
         /* For IP, only print the first header element. */          switch(n->tok) {
           case MAN_IP:  /* Only print the first header element. */
         if (MAN_IP == n->tok && n->child)                  if (n->child != NULL)
                 print_man_node(man, n->child, h);                          print_man_node(man, n->child, h);
                   break;
         /* For TP, only print next-line header elements. */          case MAN_TP:  /* Only print next-line header elements. */
           case MAN_TQ:
         if (MAN_TP == n->tok) {  
                 nn = n->child;                  nn = n->child;
                 while (NULL != nn && 0 == (NODE_LINE & nn->flags))                  while (nn != NULL && (NODE_LINE & nn->flags) == 0)
                         nn = nn->next;                          nn = nn->next;
                 while (NULL != nn) {                  while (nn != NULL) {
                         print_man_node(man, nn, h);                          print_man_node(man, nn, h);
                         nn = nn->next;                          nn = nn->next;
                 }                  }
                   break;
           default:
                   abort();
         }          }
   
         return 0;          return 0;

Legend:
Removed from v.1.153  
changed lines
  Added in v.1.155

CVSweb