[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.338 and 1.342

version 1.338, 2017/06/11 20:03:02 version 1.342, 2017/06/24 18:58:33
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 1785  post_sm(POST_ARGS)
Line 1786  post_sm(POST_ARGS)
 static void  static void
 post_root(POST_ARGS)  post_root(POST_ARGS)
 {  {
           const char *openbsd_arch[] = {
                   "alpha", "amd64", "arm64", "armv7", "hppa", "i386",
                   "landisk", "loongson", "luna88k", "macppc", "mips64",
                   "octeon", "sgi", "socppc", "sparc64", NULL
           };
           const char *netbsd_arch[] = {
                   "acorn26", "acorn32", "algor", "alpha", "amiga",
                   "arc", "atari",
                   "bebox", "cats", "cesfic", "cobalt", "dreamcast",
                   "emips", "evbarm", "evbmips", "evbppc", "evbsh3", "evbsh5",
                   "hp300", "hpcarm", "hpcmips", "hpcsh", "hppa",
                   "i386", "ibmnws", "luna68k",
                   "mac68k", "macppc", "mipsco", "mmeye", "mvme68k", "mvmeppc",
                   "netwinder", "news68k", "newsmips", "next68k",
                   "pc532", "playstation2", "pmax", "pmppc", "prep",
                   "sandpoint", "sbmips", "sgimips", "shark",
                   "sparc", "sparc64", "sun2", "sun3",
                   "vax", "walnut", "x68k", "x86", "x86_64", "xen", NULL
           };
           const char **arches[] = { NULL, netbsd_arch, openbsd_arch };
   
         struct roff_node *n;          struct roff_node *n;
           const char **arch;
   
         /* Add missing prologue data. */          /* Add missing prologue data. */
   
Line 1806  post_root(POST_ARGS)
Line 1829  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)");
   
           if (mdoc->meta.arch != NULL &&
               (arch = arches[mdoc->meta.os_e]) != NULL) {
                   while (*arch != NULL && strcmp(*arch, mdoc->meta.arch))
                           arch++;
                   if (*arch == NULL) {
                           n = mdoc->first->child;
                           while (n->tok != MDOC_Dt)
                                   n = n->next;
                           n = n->child->next->next;
                           mandoc_vmsg(MANDOCERR_ARCH_BAD,
                               mdoc->parse, n->line, n->pos,
                               "Dt ... %s %s", mdoc->meta.arch,
                               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 2545  post_os(POST_ARGS)
Line 2589  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 2565  post_os(POST_ARGS)
Line 2609  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           * This is the earliest point where we can check
Line 2575  out: mdoc->meta.os_e = strstr(mdoc->meta.os, "OpenBSD"
Line 2623  out: mdoc->meta.os_e = strstr(mdoc->meta.os, "OpenBSD"
          * the operating system earlier.           * 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)          while (n->tok != MDOC_Dd)
                 if ((n = n->prev) == NULL)                  if ((n = n->prev) == NULL)
                         return;                          return;
         if ((n = n->child) == NULL)          if ((n = n->child) == NULL)
                 return;                  return;
         if (strncmp(n->string, "$" "Mdocdate", 9)) {          if (strncmp(n->string, "$" "Mdocdate", 9)) {
                 if (mdoc->meta.os_e == MDOC_OS_OPENBSD)                  if (mdoc->meta.os_e == MANDOC_OS_OPENBSD)
                         mandoc_vmsg(MANDOCERR_MDOCDATE_MISSING,                          mandoc_vmsg(MANDOCERR_MDOCDATE_MISSING,
                             mdoc->parse, n->line, n->pos,                              mdoc->parse, n->line, n->pos,
                             "Dd %s", n->string);                              "Dd %s (OpenBSD)", n->string);
         } else {          } else {
                 if (mdoc->meta.os_e == MDOC_OS_NETBSD)                  if (mdoc->meta.os_e == MANDOC_OS_NETBSD)
                         mandoc_vmsg(MANDOCERR_MDOCDATE,                          mandoc_vmsg(MANDOCERR_MDOCDATE,
                             mdoc->parse, n->line, n->pos,                              mdoc->parse, n->line, n->pos,
                             "Dd %s", n->string);                              "Dd %s (NetBSD)", n->string);
         }          }
 }  }
   

Legend:
Removed from v.1.338  
changed lines
  Added in v.1.342

CVSweb