=================================================================== RCS file: /cvs/mandoc/roff_validate.c,v retrieving revision 1.7 retrieving revision 1.10 diff -u -p -r1.7 -r1.10 --- mandoc/roff_validate.c 2017/06/06 15:01:04 1.7 +++ mandoc/roff_validate.c 2018/08/10 20:40:45 1.10 @@ -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 + * Copyright (c) 2010, 2017, 2018 Ingo Schwarze * * 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 #include +#include #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: