[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.336 and 1.341

version 1.336, 2017/06/11 17:16:51 version 1.341, 2017/06/24 15:59:50
Line 1709  post_bl(POST_ARGS)
Line 1709  post_bl(POST_ARGS)
                 nchild = nnext;                  nchild = nnext;
         }          }
   
         if (mdoc->meta.os_e != MDOC_OS_NETBSD)          if (mdoc->meta.os_e != MANDOC_OS_NETBSD)
                 return;                  return;
   
         prev_Er = NULL;          prev_Er = NULL;
Line 1728  post_bl(POST_ARGS)
Line 1728  post_bl(POST_ARGS)
                         if (order > 0)                          if (order > 0)
                                 mandoc_vmsg(MANDOCERR_ER_ORDER,                                  mandoc_vmsg(MANDOCERR_ER_ORDER,
                                     mdoc->parse, nnext->line, nnext->pos,                                      mdoc->parse, nnext->line, nnext->pos,
                                     "Er %s %s", prev_Er, nnext->string);                                      "Er %s %s (NetBSD)",
                                       prev_Er, nnext->string);
                         else if (order == 0)                          else if (order == 0)
                                 mandoc_vmsg(MANDOCERR_ER_REP,                                  mandoc_vmsg(MANDOCERR_ER_REP,
                                     mdoc->parse, nnext->line, nnext->pos,                                      mdoc->parse, nnext->line, nnext->pos,
                                     "Er %s", prev_Er);                                      "Er %s (NetBSD)", prev_Er);
                 }                  }
                 prev_Er = nnext->string;                  prev_Er = nnext->string;
         }          }
Line 1790  post_root(POST_ARGS)
Line 1791  post_root(POST_ARGS)
         /* Add missing prologue data. */          /* Add missing prologue data. */
   
         if (mdoc->meta.date == NULL)          if (mdoc->meta.date == NULL)
                 mdoc->meta.date = mdoc->quick ?                  mdoc->meta.date = mdoc->quick ? mandoc_strdup("") :
                     mandoc_strdup("") :                      mandoc_normdate(mdoc, NULL, 0, 0);
                     mandoc_normdate(mdoc->parse, NULL, 0, 0);  
   
         if (mdoc->meta.title == NULL) {          if (mdoc->meta.title == NULL) {
                 mandoc_msg(MANDOCERR_DT_NOTITLE,                  mandoc_msg(MANDOCERR_DT_NOTITLE,
Line 1807  post_root(POST_ARGS)
Line 1807  post_root(POST_ARGS)
                 mandoc_msg(MANDOCERR_OS_MISSING,                  mandoc_msg(MANDOCERR_OS_MISSING,
                     mdoc->parse, 0, 0, NULL);                      mdoc->parse, 0, 0, NULL);
                 mdoc->meta.os = mandoc_strdup("");                  mdoc->meta.os = mandoc_strdup("");
         }          } else if (mdoc->meta.os_e &&
               (mdoc->meta.rcsids & (1 << mdoc->meta.os_e)) == 0)
                   mandoc_msg(MANDOCERR_RCS_MISSING, mdoc->parse, 0, 0,
                       mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
                       "(OpenBSD)" : "(NetBSD)");
   
         /* Check that we begin with a proper `Sh'. */          /* Check that we begin with a proper `Sh'. */
   
Line 2348  post_dd(POST_ARGS)
Line 2352  post_dd(POST_ARGS)
   
         if (n->child == NULL || n->child->string[0] == '\0') {          if (n->child == NULL || n->child->string[0] == '\0') {
                 mdoc->meta.date = mdoc->quick ? mandoc_strdup("") :                  mdoc->meta.date = mdoc->quick ? mandoc_strdup("") :
                     mandoc_normdate(mdoc->parse, NULL, n->line, n->pos);                      mandoc_normdate(mdoc, NULL, n->line, n->pos);
                 return;                  return;
         }          }
   
Line 2357  post_dd(POST_ARGS)
Line 2361  post_dd(POST_ARGS)
         if (mdoc->quick)          if (mdoc->quick)
                 mdoc->meta.date = datestr;                  mdoc->meta.date = datestr;
         else {          else {
                 mdoc->meta.date = mandoc_normdate(mdoc->parse,                  mdoc->meta.date = mandoc_normdate(mdoc,
                     datestr, n->line, n->pos);                      datestr, n->line, n->pos);
                 free(datestr);                  free(datestr);
         }          }
Line 2546  post_os(POST_ARGS)
Line 2550  post_os(POST_ARGS)
         if (mdoc->meta.os)          if (mdoc->meta.os)
                 goto out;                  goto out;
   
         if (mdoc->defos) {          if (mdoc->os_s != NULL) {
                 mdoc->meta.os = mandoc_strdup(mdoc->defos);                  mdoc->meta.os = mandoc_strdup(mdoc->os_s);
                 goto out;                  goto out;
         }          }
   
Line 2566  post_os(POST_ARGS)
Line 2570  post_os(POST_ARGS)
         mdoc->meta.os = mandoc_strdup(defbuf);          mdoc->meta.os = mandoc_strdup(defbuf);
 #endif /*!OSNAME*/  #endif /*!OSNAME*/
   
 out:    mdoc->meta.os_e = strstr(mdoc->meta.os, "OpenBSD") != NULL ?  out:
             MDOC_OS_OPENBSD : strstr(mdoc->meta.os, "NetBSD") != NULL ?          if (mdoc->meta.os_e == MANDOC_OS_OTHER) {
             MDOC_OS_NETBSD : MDOC_OS_OTHER;                  if (strstr(mdoc->meta.os, "OpenBSD") != NULL)
                           mdoc->meta.os_e = MANDOC_OS_OPENBSD;
                   else if (strstr(mdoc->meta.os, "NetBSD") != NULL)
                           mdoc->meta.os_e = MANDOC_OS_NETBSD;
           }
   
           /*
            * This is the earliest point where we can check
            * Mdocdate conventions because we don't know
            * the operating system earlier.
            */
   
           if (n->child != NULL)
                   mandoc_vmsg(MANDOCERR_OS_ARG, mdoc->parse,
                       n->child->line, n->child->pos,
                       "Os %s (%s)", n->child->string,
                       mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
                       "OpenBSD" : "NetBSD");
   
           while (n->tok != MDOC_Dd)
                   if ((n = n->prev) == NULL)
                           return;
           if ((n = n->child) == NULL)
                   return;
           if (strncmp(n->string, "$" "Mdocdate", 9)) {
                   if (mdoc->meta.os_e == MANDOC_OS_OPENBSD)
                           mandoc_vmsg(MANDOCERR_MDOCDATE_MISSING,
                               mdoc->parse, n->line, n->pos,
                               "Dd %s (OpenBSD)", n->string);
           } else {
                   if (mdoc->meta.os_e == MANDOC_OS_NETBSD)
                           mandoc_vmsg(MANDOCERR_MDOCDATE,
                               mdoc->parse, n->line, n->pos,
                               "Dd %s (NetBSD)", n->string);
           }
 }  }
   
 enum roff_sec  enum roff_sec

Legend:
Removed from v.1.336  
changed lines
  Added in v.1.341

CVSweb