=================================================================== RCS file: /cvs/mandoc/mdoc_validate.c,v retrieving revision 1.71 retrieving revision 1.73 diff -u -p -r1.71 -r1.73 --- mandoc/mdoc_validate.c 2010/05/09 21:19:42 1.71 +++ mandoc/mdoc_validate.c 2010/05/14 14:34:29 1.73 @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.71 2010/05/09 21:19:42 kristaps Exp $ */ +/* $Id: mdoc_validate.c,v 1.73 2010/05/14 14:34:29 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -1039,14 +1039,14 @@ post_it(POST_ARGS) for (i = 0; c && MDOC_HEAD == c->type; c = c->next) i++; - if (i < cols || i == (cols + 1)) { + if (i < cols) { if ( ! mdoc_vwarn(mdoc, mdoc->last->line, mdoc->last->pos, "column " "mismatch: have %d, want %d", i, cols)) return(0); break; - } else if (i == cols) + } else if (i == cols || i == cols + 1) break; return(mdoc_verr(mdoc, mdoc->last->line, @@ -1286,21 +1286,24 @@ post_sh_head(POST_ARGS) return(mdoc_nerr(mdoc, n, ETOOLONG)); } - sec = mdoc_atosec(buf); + sec = mdoc_str2sec(buf); /* * Check: NAME should always be first, CUSTOM has no roles, * non-CUSTOM has a conventional order to be followed. */ - if (SEC_NAME != sec && SEC_NONE == mdoc->lastnamed && - ! mdoc_nwarn(mdoc, mdoc->last, ESECNAME)) - return(0); + if (SEC_NAME != sec && SEC_NONE == mdoc->lastnamed) + if ( ! mdoc_nwarn(mdoc, mdoc->last, ESECNAME)) + return(0); + if (SEC_CUSTOM == sec) return(1); + if (sec == mdoc->lastnamed) if ( ! mdoc_nwarn(mdoc, mdoc->last, ESECREP)) return(0); + if (sec < mdoc->lastnamed) if ( ! mdoc_nwarn(mdoc, mdoc->last, ESECOOO)) return(0);