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

Diff for /mandoc/mandocdb.c between version 1.245 and 1.246

version 1.245, 2017/03/03 13:41:42 version 1.246, 2017/04/24 23:06:18
Line 183  static struct ohash  names; /* table of all names */
Line 183  static struct ohash  names; /* table of all names */
 static  struct ohash     strings; /* table of all strings */  static  struct ohash     strings; /* table of all strings */
 static  uint64_t         name_mask;  static  uint64_t         name_mask;
   
 static  const struct mdoc_handler mdocs[MDOC_MAX] = {  static  const struct mdoc_handler __mdocs[MDOC_MAX - MDOC_Dd] = {
         { NULL, 0, 0 },  /* Ap */  
         { NULL, 0, NODE_NOPRT },  /* Dd */          { NULL, 0, NODE_NOPRT },  /* Dd */
         { NULL, 0, NODE_NOPRT },  /* Dt */          { NULL, 0, NODE_NOPRT },  /* Dt */
         { NULL, 0, NODE_NOPRT },  /* Os */          { NULL, 0, NODE_NOPRT },  /* Os */
Line 200  static const struct mdoc_handler mdocs[MDOC_MAX] = {
Line 199  static const struct mdoc_handler mdocs[MDOC_MAX] = {
         { NULL, 0, 0 },  /* It */          { NULL, 0, 0 },  /* It */
         { NULL, 0, 0 },  /* Ad */          { NULL, 0, 0 },  /* Ad */
         { NULL, TYPE_An, 0 },  /* An */          { NULL, TYPE_An, 0 },  /* An */
           { NULL, 0, 0 },  /* Ap */
         { NULL, TYPE_Ar, 0 },  /* Ar */          { NULL, TYPE_Ar, 0 },  /* Ar */
         { NULL, TYPE_Cd, 0 },  /* Cd */          { NULL, TYPE_Cd, 0 },  /* Cd */
         { NULL, TYPE_Cm, 0 },  /* Cm */          { NULL, TYPE_Cm, 0 },  /* Cm */
Line 308  static const struct mdoc_handler mdocs[MDOC_MAX] = {
Line 308  static const struct mdoc_handler mdocs[MDOC_MAX] = {
         { NULL, 0, 0 },  /* Ta */          { NULL, 0, 0 },  /* Ta */
         { NULL, 0, 0 },  /* ll */          { NULL, 0, 0 },  /* ll */
 };  };
   static  const struct mdoc_handler *const mdocs = __mdocs - MDOC_Dd;
   
   
 int  int
Line 1545  parse_mdoc(struct mpage *mpage, const struct roff_meta
Line 1546  parse_mdoc(struct mpage *mpage, const struct roff_meta
         const struct roff_node *n)          const struct roff_node *n)
 {  {
   
         assert(NULL != n);          for (n = n->child; n != NULL; n = n->next) {
         for (n = n->child; NULL != n; n = n->next) {                  if (n->tok == TOKEN_NONE || n->flags & mdocs[n->tok].taboo)
                 if (n->flags & mdocs[n->tok].taboo)  
                         continue;                          continue;
                 switch (n->type) {                  switch (n->type) {
                 case ROFFT_ELEM:                  case ROFFT_ELEM:
Line 1555  parse_mdoc(struct mpage *mpage, const struct roff_meta
Line 1555  parse_mdoc(struct mpage *mpage, const struct roff_meta
                 case ROFFT_HEAD:                  case ROFFT_HEAD:
                 case ROFFT_BODY:                  case ROFFT_BODY:
                 case ROFFT_TAIL:                  case ROFFT_TAIL:
                         if (NULL != mdocs[n->tok].fp)                          if (mdocs[n->tok].fp != NULL &&
                                if (0 == (*mdocs[n->tok].fp)(mpage, meta, n))                              (*mdocs[n->tok].fp)(mpage, meta, n) == 0)
                                        break;                                  break;
                         if (mdocs[n->tok].mask)                          if (mdocs[n->tok].mask)
                                 putmdockey(mpage, n->child,                                  putmdockey(mpage, n->child,
                                     mdocs[n->tok].mask, mdocs[n->tok].taboo);                                      mdocs[n->tok].mask, mdocs[n->tok].taboo);
                         break;                          break;
                 default:                  default:
                         assert(n->type != ROFFT_ROOT);  
                         continue;                          continue;
                 }                  }
                 if (NULL != n->child)                  if (NULL != n->child)

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

CVSweb