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

Diff for /mandoc/mdoc_validate.c between version 1.310 and 1.311

version 1.310, 2016/12/28 17:34:18 version 1.311, 2017/01/08 00:11:24
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2016 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>   * Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 851  post_nm(POST_ARGS)
Line 851  post_nm(POST_ARGS)
              n->last->tok == MDOC_Lp))               n->last->tok == MDOC_Lp))
                 mdoc_node_relink(mdoc, n->last);                  mdoc_node_relink(mdoc, n->last);
   
         if (mdoc->meta.name != NULL)  
                 return;  
   
         deroff(&mdoc->meta.name, n);  
   
         if (mdoc->meta.name == NULL)          if (mdoc->meta.name == NULL)
                   deroff(&mdoc->meta.name, n);
   
           if (mdoc->meta.name == NULL ||
               (mdoc->lastsec == SEC_NAME && n->child == NULL))
                 mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse,                  mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse,
                     n->line, n->pos, "Nm");                      n->line, n->pos, "Nm");
 }  }
Line 1598  post_sh_name(POST_ARGS)
Line 1597  post_sh_name(POST_ARGS)
         for (n = mdoc->last->child; n != NULL; n = n->next) {          for (n = mdoc->last->child; n != NULL; n = n->next) {
                 switch (n->tok) {                  switch (n->tok) {
                 case MDOC_Nm:                  case MDOC_Nm:
                           if (hasnm && n->child != NULL)
                                   mandoc_vmsg(MANDOCERR_NAMESEC_PUNCT,
                                       mdoc->parse, n->line, n->pos,
                                       "Nm %s", n->child->string);
                         hasnm = 1;                          hasnm = 1;
                         break;                          continue;
                 case MDOC_Nd:                  case MDOC_Nd:
                         hasnd = 1;                          hasnd = 1;
                         if (n->next != NULL)                          if (n->next != NULL)
Line 1607  post_sh_name(POST_ARGS)
Line 1610  post_sh_name(POST_ARGS)
                                     mdoc->parse, n->line, n->pos, NULL);                                      mdoc->parse, n->line, n->pos, NULL);
                         break;                          break;
                 case TOKEN_NONE:                  case TOKEN_NONE:
                         if (hasnm)                          if (n->type == ROFFT_TEXT &&
                                 break;                              n->string[0] == ',' && n->string[1] == '\0' &&
                               n->next != NULL && n->next->tok == MDOC_Nm) {
                                   n = n->next;
                                   continue;
                           }
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 default:                  default:
                         mandoc_msg(MANDOCERR_NAMESEC_BAD, mdoc->parse,                          mandoc_msg(MANDOCERR_NAMESEC_BAD, mdoc->parse,
                             n->line, n->pos, mdoc_macronames[n->tok]);                              n->line, n->pos, mdoc_macronames[n->tok]);
                         break;                          continue;
                 }                  }
                   break;
         }          }
   
         if ( ! hasnm)          if ( ! hasnm)

Legend:
Removed from v.1.310  
changed lines
  Added in v.1.311

CVSweb