]> git.cameronkatri.com Git - mandoc.git/blobdiff - roff_validate.c
Massively reduce the amount of text, cutting it down to what is needed
[mandoc.git] / roff_validate.c
index feadfb40c98b8d73f21bf224f47c0ff01f9c1cc7..6a76a1fb995155e546643fc74e5c20e2fd78b15e 100644 (file)
@@ -1,6 +1,6 @@
-/*     $Id: roff_validate.c,v 1.7 2017/06/06 15:01:04 schwarze Exp $ */
+/*     $Id: roff_validate.c,v 1.10 2018/08/10 20:40:45 schwarze Exp $ */
 /*
- * Copyright (c) 2010, 2017 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -18,6 +18,7 @@
 
 #include <assert.h>
 #include <stddef.h>
+#include <string.h>
 
 #include "mandoc.h"
 #include "roff.h"
@@ -36,6 +37,8 @@ static        const roff_valid_fp roff_valids[ROFF_MAX] = {
        roff_valid_ft,  /* ft */
        NULL,  /* ll */
        NULL,  /* mc */
+       NULL,  /* po */
+       NULL,  /* rj */
        NULL,  /* sp */
        NULL,  /* ta */
        NULL,  /* ti */
@@ -56,7 +59,7 @@ roff_validate(struct roff_man *man)
 static void
 roff_valid_ft(ROFF_VALID_ARGS)
 {
-       char    *cp;
+       const char              *cp;
 
        if (n->child == NULL) {
                man->next = ROFF_NEXT_CHILD;
@@ -82,7 +85,8 @@ roff_valid_ft(ROFF_VALID_ARGS)
                        return;
                break;
        case 'C':
-               if (cp[1] == 'W' && cp[2] == '\0')
+               if (cp[1] != '\0' && cp[2] == '\0' &&
+                   strchr("BIRW", cp[1]) != NULL)
                        return;
                break;
        default: