=================================================================== RCS file: /cvs/mandoc/mdoc_validate.c,v retrieving revision 1.349 retrieving revision 1.350 diff -u -p -r1.349 -r1.350 --- mandoc/mdoc_validate.c 2017/07/15 16:40:29 1.349 +++ mandoc/mdoc_validate.c 2017/07/20 12:54:02 1.350 @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.349 2017/07/15 16:40:29 schwarze Exp $ */ +/* $Id: mdoc_validate.c,v 1.350 2017/07/20 12:54:02 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2017 Ingo Schwarze @@ -1423,6 +1423,7 @@ post_xx(POST_ARGS) { struct roff_node *n; const char *os; + char *v; post_delim_nb(mdoc); @@ -1439,6 +1440,20 @@ post_xx(POST_ARGS) break; case MDOC_Nx: os = "NetBSD"; + if (n->child == NULL) + break; + v = n->child->string; + if ((v[0] != '0' && v[0] != '1') || v[1] != '.' || + v[2] < '0' || v[2] > '9' || + v[3] < 'a' || v[3] > 'z' || v[4] != '\0') + break; + n->child->flags |= NODE_NOPRT; + mdoc->next = ROFF_NEXT_CHILD; + roff_word_alloc(mdoc, n->child->line, n->child->pos, v); + v = mdoc->last->string; + v[3] = toupper((unsigned char)v[3]); + mdoc->last->flags |= NODE_NOSRC; + mdoc->last = n; break; case MDOC_Ox: os = "OpenBSD";