From 613f031b2e157db30a9d9b5649a9d8ac75faa7e5 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Fri, 1 Jan 2010 15:14:03 +0000 Subject: `Bl' lets `Sm' slip by as a child. Noted by Ingo Schwarze. --- mdoc_validate.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mdoc_validate.c b/mdoc_validate.c index 91d9f032..b6ee5c62 100644 --- a/mdoc_validate.c +++ b/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.54 2009/11/02 06:22:46 kristaps Exp $ */ +/* $Id: mdoc_validate.c,v 1.55 2010/01/01 15:14:03 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -1086,11 +1086,18 @@ post_bl(POST_ARGS) if (NULL == mdoc->last->child) return(1); + /* + * We only allow certain children of `Bl'. This is usually on + * `It', but apparently `Sm' occurs here and there, so we let + * that one through, too. + */ + /* LINTED */ for (n = mdoc->last->child; n; n = n->next) { - if (MDOC_BLOCK == n->type) - if (MDOC_It == n->tok) - continue; + if (MDOC_BLOCK == n->type && MDOC_It == n->tok) + continue; + if (MDOC_Sm == n->tok) + continue; return(mdoc_nerr(mdoc, n, EBADCHILD)); } -- cgit v1.2.3