From 2e9f4bd46f709222d74e2987e5d69bd76da3acff Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Mon, 29 Nov 2010 13:51:03 +0000 Subject: Move `Sh' validation from mdoc_action.c. into mdoc_validate.c. Surprisingly, both functions were doing pretty much the same thing. Make sure that the changes incorporate the union of both. --- mdoc_action.c | 62 ++--------------------------------------------------------- 1 file changed, 2 insertions(+), 60 deletions(-) (limited to 'mdoc_action.c') diff --git a/mdoc_action.c b/mdoc_action.c index bbe110d4..566310d2 100644 --- a/mdoc_action.c +++ b/mdoc_action.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_action.c,v 1.80 2010/11/29 13:02:47 kristaps Exp $ */ +/* $Id: mdoc_action.c,v 1.81 2010/11/29 13:51:03 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * @@ -64,7 +64,6 @@ static int post_nm(POST_ARGS); static int post_os(POST_ARGS); static int post_pa(POST_ARGS); static int post_prol(POST_ARGS); -static int post_sh(POST_ARGS); static int post_st(POST_ARGS); static int post_std(POST_ARGS); @@ -76,7 +75,7 @@ static const struct actions mdoc_actions[MDOC_MAX] = { { NULL, post_dd }, /* Dd */ { NULL, post_dt }, /* Dt */ { NULL, post_os }, /* Os */ - { NULL, post_sh }, /* Sh */ + { NULL, NULL }, /* Sh */ { NULL, NULL }, /* Ss */ { NULL, NULL }, /* Pp */ { NULL, NULL }, /* D1 */ @@ -428,63 +427,6 @@ post_at(POST_ARGS) } -/* - * Mark the current section. The ``named'' section (lastnamed) is set - * whenever the current section isn't a custom section--we use this to - * keep track of section ordering. Also check that the section is - * allowed within the document's manual section. - */ -static int -post_sh(POST_ARGS) -{ - enum mdoc_sec sec; - char buf[BUFSIZ]; - - if (MDOC_HEAD != n->type) - return(1); - - if ( ! concat(m, buf, n->child, BUFSIZ)) - return(0); - sec = mdoc_str2sec(buf); - /* - * The first section should always make us move into a non-new - * state. - */ - if (SEC_NONE == m->lastnamed || SEC_CUSTOM != sec) - m->lastnamed = sec; - - /* - * Switch the parser's SYNOPSIS mode, to be copied - * into individual nodes when creating them. - * Note that this mode can also be set and unset - * using the roff nS register. - */ - if (SEC_SYNOPSIS == sec) - m->flags |= MDOC_SYNOPSIS; - else - m->flags &= ~MDOC_SYNOPSIS; - - /* Some sections only live in certain manual sections. */ - - switch ((m->lastsec = sec)) { - case (SEC_RETURN_VALUES): - /* FALLTHROUGH */ - case (SEC_ERRORS): - assert(m->meta.msec); - if (*m->meta.msec == '2') - break; - if (*m->meta.msec == '3') - break; - if (*m->meta.msec == '9') - break; - return(mdoc_nmsg(m, n, MANDOCERR_SECMSEC)); - default: - break; - } - return(1); -} - - /* * Parse out the contents of `Dt'. See in-line documentation for how we * handle the various fields of this macro. -- cgit v1.2.3-56-ge451