=================================================================== RCS file: /cvs/mandoc/man_validate.c,v retrieving revision 1.2 retrieving revision 1.7 diff -u -p -r1.2 -r1.7 --- mandoc/man_validate.c 2009/03/25 21:46:24 1.2 +++ mandoc/man_validate.c 2009/04/05 16:34:22 1.7 @@ -1,4 +1,4 @@ -/* $Id: man_validate.c,v 1.2 2009/03/25 21:46:24 kristaps Exp $ */ +/* $Id: man_validate.c,v 1.7 2009/04/05 16:34:22 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -35,7 +35,7 @@ struct man_valid { v_post *posts; }; -static int count(POSTARGS); +static int count(const struct man_node *); static int check_eq0(POSTARGS); static int check_ge1(POSTARGS); static int check_ge2(POSTARGS); @@ -54,7 +54,7 @@ static const struct man_valid man_valids[MAN_MAX] = { { posts_ge2_le5 }, /* TH */ { posts_ge1 }, /* SH */ { posts_ge1 }, /* SS */ - { posts_le1 }, /* TP */ + { NULL }, /* TP */ { posts_eq0 }, /* LP */ { posts_eq0 }, /* PP */ { posts_eq0 }, /* P */ @@ -70,6 +70,10 @@ static const struct man_valid man_valids[MAN_MAX] = { { NULL }, /* B */ { NULL }, /* I */ { NULL }, /* IR */ + { NULL }, /* RI */ + { posts_eq0 }, /* br */ + { posts_eq0 }, /* na */ + { NULL }, /* i */ }; @@ -102,7 +106,7 @@ man_valid_post(struct man *m) static inline int -count(POSTARGS) +count(const struct man_node *n) { int i; @@ -117,9 +121,9 @@ static int \ check_##name(POSTARGS) \ { \ int c; \ - if ((c = count(m, n->child)) ineq (x)) \ + if ((c = count(n->child)) ineq (x)) \ return(1); \ - return(man_vwarn(m, n->line, n->pos, \ + return(man_verr(m, n->line, n->pos, \ "expected line arguments %s %d, have %d", \ #ineq, (x), c)); \ }