diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2014-11-28 01:05:41 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2014-11-28 01:05:41 +0000 |
commit | 8d6133711712c87d039b35550c76bd9ea3cdcf9f (patch) | |
tree | ce1e9a97eea391a1132db2744697efd49bbd5187 | |
parent | 82f4aeb1e9f993fd251bd3144508d1cf89164f14 (diff) |
Simplify code by making mdoc validation handlers void.
No functional change, minus 90 lines of code.
-rw-r--r-- | usr.bin/mandoc/libmdoc.h | 6 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc.c | 56 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc_macro.c | 98 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc_validate.c | 545 |
4 files changed, 288 insertions, 417 deletions
diff --git a/usr.bin/mandoc/libmdoc.h b/usr.bin/mandoc/libmdoc.h index 469f520e098..6bd73981c25 100644 --- a/usr.bin/mandoc/libmdoc.h +++ b/usr.bin/mandoc/libmdoc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: libmdoc.h,v 1.60 2014/11/27 14:31:29 deraadt Exp $ */ +/* $OpenBSD: libmdoc.h,v 1.61 2014/11/28 01:05:40 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -125,8 +125,8 @@ const char *mdoc_a2lib(const char *); const char *mdoc_a2st(const char *); const char *mdoc_a2arch(const char *); const char *mdoc_a2vol(const char *); -int mdoc_valid_pre(struct mdoc *, struct mdoc_node *); -int mdoc_valid_post(struct mdoc *); +void mdoc_valid_pre(struct mdoc *, struct mdoc_node *); +void mdoc_valid_post(struct mdoc *); enum margverr mdoc_argv(struct mdoc *, int, enum mdoct, struct mdoc_arg **, int *, char *); void mdoc_argv_free(struct mdoc_arg *); diff --git a/usr.bin/mandoc/mdoc.c b/usr.bin/mandoc/mdoc.c index 826702cd815..d147773a919 100644 --- a/usr.bin/mandoc/mdoc.c +++ b/usr.bin/mandoc/mdoc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc.c,v 1.118 2014/11/19 03:07:43 schwarze Exp $ */ +/* $OpenBSD: mdoc.c,v 1.119 2014/11/28 01:05:40 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -87,8 +87,7 @@ static void mdoc_free1(struct mdoc *); static void mdoc_alloc1(struct mdoc *); static struct mdoc_node *node_alloc(struct mdoc *, int, int, enum mdoct, enum mdoc_type); -static int node_append(struct mdoc *, - struct mdoc_node *); +static void node_append(struct mdoc *, struct mdoc_node *); static int mdoc_ptext(struct mdoc *, int, char *, int); static int mdoc_pmacro(struct mdoc *, int, char *, int); @@ -205,10 +204,7 @@ mdoc_addeqn(struct mdoc *mdoc, const struct eqn *ep) n->eqn = ep; if (ep->ln > mdoc->last->line) n->flags |= MDOC_LINE; - - if ( ! node_append(mdoc, n)) - return(0); - + node_append(mdoc, n); mdoc->next = MDOC_NEXT_SIBLING; return(1); } @@ -220,10 +216,7 @@ mdoc_addspan(struct mdoc *mdoc, const struct tbl_span *sp) n = node_alloc(mdoc, sp->line, 0, MDOC_MAX, MDOC_TBL); n->span = sp; - - if ( ! node_append(mdoc, n)) - return(0); - + node_append(mdoc, n); mdoc->next = MDOC_NEXT_SIBLING; return(1); } @@ -283,7 +276,7 @@ mdoc_macro(MACRO_PROT_ARGS) } -static int +static void node_append(struct mdoc *mdoc, struct mdoc_node *p) { @@ -327,8 +320,7 @@ node_append(struct mdoc *mdoc, struct mdoc_node *p) break; } - if ( ! mdoc_valid_pre(mdoc, p)) - return(0); + mdoc_valid_pre(mdoc, p); switch (p->type) { case MDOC_HEAD: @@ -355,14 +347,11 @@ node_append(struct mdoc *mdoc, struct mdoc_node *p) case MDOC_TBL: /* FALLTHROUGH */ case MDOC_TEXT: - if ( ! mdoc_valid_post(mdoc)) - return(0); + mdoc_valid_post(mdoc); break; default: break; } - - return(1); } static struct mdoc_node * @@ -398,8 +387,7 @@ mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok) struct mdoc_node *p; p = node_alloc(mdoc, line, pos, tok, MDOC_TAIL); - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_CHILD; return(1); } @@ -413,8 +401,7 @@ mdoc_head_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok) assert(mdoc->last); p = node_alloc(mdoc, line, pos, tok, MDOC_HEAD); - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_CHILD; return(1); } @@ -425,8 +412,7 @@ mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok) struct mdoc_node *p; p = node_alloc(mdoc, line, pos, tok, MDOC_BODY); - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_CHILD; return(1); } @@ -441,8 +427,7 @@ mdoc_endbody_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok, p->pending = body; p->norm = body->norm; p->end = end; - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_SIBLING; return(1); } @@ -473,9 +458,7 @@ mdoc_block_alloc(struct mdoc *mdoc, int line, int pos, default: break; } - - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_CHILD; return(1); } @@ -498,9 +481,7 @@ mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos, default: break; } - - if ( ! node_append(mdoc, p)) - return(0); + node_append(mdoc, p); mdoc->next = MDOC_NEXT_CHILD; return(1); } @@ -512,10 +493,7 @@ mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, const char *p) n = node_alloc(mdoc, line, pos, MDOC_MAX, MDOC_TEXT); n->string = roff_strdup(mdoc->roff, p); - - if ( ! node_append(mdoc, n)) - return(0); - + node_append(mdoc, n); mdoc->next = MDOC_NEXT_SIBLING; return(1); } @@ -604,7 +582,8 @@ mdoc_node_relink(struct mdoc *mdoc, struct mdoc_node *p) { mdoc_node_unlink(mdoc, p); - return(node_append(mdoc, p)); + node_append(mdoc, p); + return(1); } /* @@ -702,7 +681,8 @@ mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int offs) mdoc->next = MDOC_NEXT_SIBLING; - return(mdoc_valid_post(mdoc)); + mdoc_valid_post(mdoc); + return(1); } if ( ! mdoc_word_alloc(mdoc, line, offs, buf+offs)) diff --git a/usr.bin/mandoc/mdoc_macro.c b/usr.bin/mandoc/mdoc_macro.c index fd758782a98..129424458ba 100644 --- a/usr.bin/mandoc/mdoc_macro.c +++ b/usr.bin/mandoc/mdoc_macro.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc_macro.c,v 1.104 2014/11/27 22:27:40 schwarze Exp $ */ +/* $OpenBSD: mdoc_macro.c,v 1.105 2014/11/28 01:05:40 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -60,9 +60,8 @@ static int phrase(struct mdoc *, int, int, char *); static enum mdoct rew_alt(enum mdoct); static enum rew rew_dohalt(enum mdoct, enum mdoc_type, const struct mdoc_node *); -static int rew_elem(struct mdoc *, enum mdoct); -static int rew_last(struct mdoc *, - const struct mdoc_node *); +static void rew_elem(struct mdoc *, enum mdoct); +static void rew_last(struct mdoc *, const struct mdoc_node *); static int rew_sub(enum mdoc_type, struct mdoc *, enum mdoct, int, int); @@ -236,7 +235,8 @@ mdoc_macroend(struct mdoc *mdoc) /* Rewind to the first. */ - return(rew_last(mdoc, mdoc->first)); + rew_last(mdoc, mdoc->first); + return(1); } /* @@ -266,15 +266,13 @@ lookup_raw(const char *p) return(MDOC_MAX); } -static int +static void rew_last(struct mdoc *mdoc, const struct mdoc_node *to) { struct mdoc_node *n, *np; assert(to); mdoc->next = MDOC_NEXT_SIBLING; - - while (mdoc->last != to) { /* * Save the parent here, because we may delete the @@ -283,15 +281,13 @@ rew_last(struct mdoc *mdoc, const struct mdoc_node *to) * out to be lost. */ np = mdoc->last->parent; - if ( ! mdoc_valid_post(mdoc)) - return(0); + mdoc_valid_post(mdoc); n = mdoc->last; mdoc->last = np; assert(mdoc->last); mdoc->last->last = n; } - - return(mdoc_valid_post(mdoc)); + mdoc_valid_post(mdoc); } /* @@ -453,7 +449,7 @@ rew_dohalt(enum mdoct tok, enum mdoc_type type, REWIND_FORCE : REWIND_LATER); } -static int +static void rew_elem(struct mdoc *mdoc, enum mdoct tok) { struct mdoc_node *n; @@ -463,8 +459,7 @@ rew_elem(struct mdoc *mdoc, enum mdoct tok) n = n->parent; assert(MDOC_ELEM == n->type); assert(tok == n->tok); - - return(rew_last(mdoc, n)); + rew_last(mdoc, n); } /* @@ -585,16 +580,14 @@ rew_sub(enum mdoc_type t, struct mdoc *mdoc, } assert(n); - if ( ! rew_last(mdoc, n)) - return(0); + rew_last(mdoc, n); /* * The current block extends an enclosing block. * Now that the current block ends, close the enclosing block, too. */ while (NULL != (n = n->pending)) { - if ( ! rew_last(mdoc, n)) - return(0); + rew_last(mdoc, n); if (MDOC_HEAD == n->type && ! mdoc_body_alloc(mdoc, n->line, n->pos, n->tok)) return(0); @@ -799,8 +792,7 @@ blk_exp_close(MACRO_PROT_ARGS) if ( ! mdoc_elem_alloc(mdoc, line, ppos, MDOC_br, NULL)) return(0); - if ( ! rew_elem(mdoc, MDOC_br)) - return(0); + rew_elem(mdoc, MDOC_br); } else if ( ! mdoc_tail_alloc(mdoc, line, ppos, atok)) return(0); } @@ -810,8 +802,9 @@ blk_exp_close(MACRO_PROT_ARGS) lastarg = *pos; if (j == maxargs && ! flushed) { - if ( ! (endbody != NULL ? rew_last(mdoc, endbody) : - rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos))) + if (endbody != NULL) + rew_last(mdoc, endbody); + else if ( ! rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos)) return(0); flushed = 1; } @@ -835,8 +828,9 @@ blk_exp_close(MACRO_PROT_ARGS) } if ( ! flushed) { - if ( ! (endbody != NULL ? rew_last(mdoc, endbody) : - rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos))) + if (endbody != NULL) + rew_last(mdoc, endbody); + else if ( ! rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos)) return(0); flushed = 1; } @@ -848,9 +842,12 @@ blk_exp_close(MACRO_PROT_ARGS) break; } - if ( ! flushed && ! (endbody != NULL ? rew_last(mdoc, endbody) : - rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos))) - return(0); + if ( ! flushed) { + if (endbody != NULL) + rew_last(mdoc, endbody); + else if ( ! rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos)) + return(0); + } if ( ! nl) return(1); @@ -957,14 +954,13 @@ in_line(MACRO_PROT_ARGS) */ if (MDOC_MAX != ntok) { - if (scope && ! rew_elem(mdoc, tok)) - return(0); + if (scope) + rew_elem(mdoc, tok); if (nc && 0 == cnt) { if ( ! mdoc_elem_alloc(mdoc, line, ppos, tok, arg)) return(0); - if ( ! rew_last(mdoc, mdoc->last)) - return(0); + rew_last(mdoc, mdoc->last); } else if ( ! nc && 0 == cnt) { mdoc_argv_free(arg); mandoc_msg(MANDOCERR_MACRO_EMPTY, @@ -1009,8 +1005,8 @@ in_line(MACRO_PROT_ARGS) * Close out our scope, if one is open, before * any punctuation. */ - if (scope && ! rew_elem(mdoc, tok)) - return(0); + if (scope) + rew_elem(mdoc, tok); scope = 0; if (tok == MDOC_Fn) mayopen = 0; @@ -1040,14 +1036,13 @@ in_line(MACRO_PROT_ARGS) * having to parse out spaces. */ if (scope && MDOC_Fl == tok) { - if ( ! rew_elem(mdoc, tok)) - return(0); + rew_elem(mdoc, tok); scope = 0; } } - if (scope && ! rew_elem(mdoc, tok)) - return(0); + if (scope) + rew_elem(mdoc, tok); /* * If no elements have been collected and we're allowed to have @@ -1058,8 +1053,7 @@ in_line(MACRO_PROT_ARGS) if (nc && 0 == cnt) { if ( ! mdoc_elem_alloc(mdoc, line, ppos, tok, arg)) return(0); - if ( ! rew_last(mdoc, mdoc->last)) - return(0); + rew_last(mdoc, mdoc->last); } else if ( ! nc && 0 == cnt) { mdoc_argv_free(arg); mandoc_msg(MANDOCERR_MACRO_EMPTY, mdoc->parse, @@ -1100,7 +1094,8 @@ blk_full(MACRO_PROT_ARGS) if ( ! mdoc_elem_alloc(mdoc, line, ppos, MDOC_br, NULL)) return(0); - return(rew_elem(mdoc, MDOC_br)); + rew_elem(mdoc, MDOC_br); + return(1); } } @@ -1641,16 +1636,15 @@ in_line_argn(MACRO_PROT_ARGS) return(0); if (j == maxargs && ! flushed) { - if ( ! rew_elem(mdoc, tok)) - return(0); + rew_elem(mdoc, tok); flushed = 1; } ntok = ARGS_QWORD == ac ? MDOC_MAX : lookup(tok, p); if (MDOC_MAX != ntok) { - if ( ! flushed && ! rew_elem(mdoc, tok)) - return(0); + if ( ! flushed) + rew_elem(mdoc, tok); flushed = 1; if ( ! mdoc_macro(mdoc, ntok, line, la, pos, buf)) return(0); @@ -1662,8 +1656,7 @@ in_line_argn(MACRO_PROT_ARGS) ARGS_QWORD != ac && ! flushed && DELIM_NONE != mdoc_isdelim(p)) { - if ( ! rew_elem(mdoc, tok)) - return(0); + rew_elem(mdoc, tok); flushed = 1; } @@ -1678,8 +1671,8 @@ in_line_argn(MACRO_PROT_ARGS) /* Close out in a consistent state. */ - if ( ! flushed && ! rew_elem(mdoc, tok)) - return(0); + if ( ! flushed) + rew_elem(mdoc, tok); if ( ! nl) return(1); return(append_delims(mdoc, line, pos, buf)); @@ -1743,15 +1736,14 @@ in_line_eoln(MACRO_PROT_ARGS) return(0); continue; } - - if ( ! rew_elem(mdoc, tok)) - return(0); + rew_elem(mdoc, tok); return(mdoc_macro(mdoc, ntok, line, la, pos, buf)); } /* Close out (no delimiters). */ - return(rew_elem(mdoc, tok)); + rew_elem(mdoc, tok); + return(1); } static int diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c index 26b1aeb813d..076696ac037 100644 --- a/usr.bin/mandoc/mdoc_validate.c +++ b/usr.bin/mandoc/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc_validate.c,v 1.174 2014/11/27 23:35:03 schwarze Exp $ */ +/* $OpenBSD: mdoc_validate.c,v 1.175 2014/11/28 01:05:40 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org> @@ -51,15 +51,15 @@ enum check_lvl { CHECK_ERROR, }; -typedef int (*v_pre)(PRE_ARGS); -typedef int (*v_post)(POST_ARGS); +typedef void (*v_pre)(PRE_ARGS); +typedef void (*v_post)(POST_ARGS); struct valids { v_pre pre; v_post post; }; -static int check_count(struct mdoc *, enum mdoc_type, +static void check_count(struct mdoc *, enum mdoc_type, enum check_lvl, enum check_ineq, int); static void check_text(struct mdoc *, int, int, char *); static void check_argv(struct mdoc *, @@ -70,69 +70,65 @@ static enum mdoc_sec a2sec(const char *); static size_t macro2len(enum mdoct); static void rewrite_macro2len(char **); -static int berr_ge1(POST_ARGS); -static int bwarn_ge1(POST_ARGS); -static int ewarn_eq0(POST_ARGS); -static int ewarn_eq1(POST_ARGS); -static int ewarn_ge1(POST_ARGS); -static int ewarn_le1(POST_ARGS); -static int hwarn_eq0(POST_ARGS); -static int hwarn_eq1(POST_ARGS); -static int hwarn_ge1(POST_ARGS); - -static int post_an(POST_ARGS); -static int post_at(POST_ARGS); -static int post_bf(POST_ARGS); -static int post_bk(POST_ARGS); -static int post_bl(POST_ARGS); -static int post_bl_block(POST_ARGS); -static int post_bl_block_tag(POST_ARGS); -static int post_bl_head(POST_ARGS); -static int post_bx(POST_ARGS); -static int post_d1(POST_ARGS); -static int post_defaults(POST_ARGS); -static int post_dd(POST_ARGS); -static int post_dt(POST_ARGS); -static int post_en(POST_ARGS); -static int post_es(POST_ARGS); -static int post_eoln(POST_ARGS); -static int post_ex(POST_ARGS); -static int post_fa(POST_ARGS); -static int post_fn(POST_ARGS); -static int post_fname(POST_ARGS); -static int post_fo(POST_ARGS); -static int post_hyph(POST_ARGS); -static int post_hyphtext(POST_ARGS); -static int post_ignpar(POST_ARGS); -static int post_it(POST_ARGS); -static int post_lb(POST_ARGS); -static int post_literal(POST_ARGS); -static int post_nd(POST_ARGS); -static int post_nm(POST_ARGS); -static int post_ns(POST_ARGS); -static int post_os(POST_ARGS); -static int post_par(POST_ARGS); -static int post_root(POST_ARGS); -static int post_rs(POST_ARGS); -static int post_sh(POST_ARGS); -static int post_sh_head(POST_ARGS); -static int post_sh_name(POST_ARGS); -static int post_sh_see_also(POST_ARGS); -static int post_sh_authors(POST_ARGS); -static int post_sm(POST_ARGS); -static int post_st(POST_ARGS); -static int post_vt(POST_ARGS); -static int pre_an(PRE_ARGS); -static int pre_bd(PRE_ARGS); -static int pre_bl(PRE_ARGS); -static int pre_dd(PRE_ARGS); -static int pre_display(PRE_ARGS); -static int pre_dt(PRE_ARGS); -static int pre_literal(PRE_ARGS); -static int pre_obsolete(PRE_ARGS); -static int pre_os(PRE_ARGS); -static int pre_par(PRE_ARGS); -static int pre_std(PRE_ARGS); +static void bwarn_ge1(POST_ARGS); +static void ewarn_eq1(POST_ARGS); +static void ewarn_ge1(POST_ARGS); +static void hwarn_eq0(POST_ARGS); + +static void post_an(POST_ARGS); +static void post_at(POST_ARGS); +static void post_bf(POST_ARGS); +static void post_bk(POST_ARGS); +static void post_bl(POST_ARGS); +static void post_bl_block(POST_ARGS); +static void post_bl_block_tag(POST_ARGS); +static void post_bl_head(POST_ARGS); +static void post_bx(POST_ARGS); +static void post_d1(POST_ARGS); +static void post_defaults(POST_ARGS); +static void post_dd(POST_ARGS); +static void post_dt(POST_ARGS); +static void post_en(POST_ARGS); +static void post_es(POST_ARGS); +static void post_eoln(POST_ARGS); +static void post_ex(POST_ARGS); +static void post_fa(POST_ARGS); +static void post_fn(POST_ARGS); +static void post_fname(POST_ARGS); +static void post_fo(POST_ARGS); +static void post_hyph(POST_ARGS); +static void post_hyphtext(POST_ARGS); +static void post_ignpar(POST_ARGS); +static void post_it(POST_ARGS); +static void post_lb(POST_ARGS); +static void post_literal(POST_ARGS); +static void post_nd(POST_ARGS); +static void post_nm(POST_ARGS); +static void post_ns(POST_ARGS); +static void post_os(POST_ARGS); +static void post_par(POST_ARGS); +static void post_root(POST_ARGS); +static void post_rs(POST_ARGS); +static void post_sh(POST_ARGS); +static void post_sh_head(POST_ARGS); +static void post_sh_name(POST_ARGS); +static void post_sh_see_also(POST_ARGS); +static void post_sh_authors(POST_ARGS); +static void post_sm(POST_ARGS); +static void post_st(POST_ARGS); +static void post_vt(POST_ARGS); + +static void pre_an(PRE_ARGS); +static void pre_bd(PRE_ARGS); +static void pre_bl(PRE_ARGS); +static void pre_dd(PRE_ARGS); +static void pre_display(PRE_ARGS); +static void pre_dt(PRE_ARGS); +static void pre_literal(PRE_ARGS); +static void pre_obsolete(PRE_ARGS); +static void pre_os(PRE_ARGS); +static void pre_par(PRE_ARGS); +static void pre_std(PRE_ARGS); static const struct valids mdoc_valids[MDOC_MAX] = { { NULL, NULL }, /* Ap */ @@ -306,7 +302,7 @@ static const char * const secnames[SEC__MAX] = { }; -int +void mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n) { v_pre p; @@ -320,17 +316,18 @@ mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n) case MDOC_EQN: /* FALLTHROUGH */ case MDOC_ROOT: - return(1); + return; default: break; } check_args(mdoc, n); p = mdoc_valids[n->tok].pre; - return(*p ? (*p)(mdoc, n) : 1); + if (*p) + (*p)(mdoc, n); } -int +void mdoc_valid_post(struct mdoc *mdoc) { struct mdoc_node *n; @@ -338,7 +335,7 @@ mdoc_valid_post(struct mdoc *mdoc) n = mdoc->last; if (n->flags & MDOC_VALID) - return(1); + return; n->flags |= MDOC_VALID; switch (n->type) { @@ -347,9 +344,10 @@ mdoc_valid_post(struct mdoc *mdoc) case MDOC_EQN: /* FALLTHROUGH */ case MDOC_TBL: - return(1); + break; case MDOC_ROOT: - return(post_root(mdoc)); + post_root(mdoc); + break; default: /* @@ -366,11 +364,13 @@ mdoc_valid_post(struct mdoc *mdoc) /* Call the macro's postprocessor. */ p = mdoc_valids[n->tok].post; - return(*p ? (*p)(mdoc) : 1); + if (*p) + (*p)(mdoc); + break; } } -static int +static void check_count(struct mdoc *mdoc, enum mdoc_type type, enum check_lvl lvl, enum check_ineq ineq, int val) { @@ -378,23 +378,23 @@ check_count(struct mdoc *mdoc, enum mdoc_type type, enum mandocerr t; if (mdoc->last->type != type) - return(1); + return; switch (ineq) { case CHECK_LT: p = "less than "; if (mdoc->last->nchild < val) - return(1); + return; break; case CHECK_GT: p = "more than "; if (mdoc->last->nchild > val) - return(1); + return; break; case CHECK_EQ: p = ""; if (val == mdoc->last->nchild) - return(1); + return; break; default: abort(); @@ -405,62 +405,30 @@ check_count(struct mdoc *mdoc, enum mdoc_type type, mandoc_vmsg(t, mdoc->parse, mdoc->last->line, mdoc->last->pos, "want %s%d children (have %d)", p, val, mdoc->last->nchild); - return(1); } -static int -berr_ge1(POST_ARGS) -{ - - return(check_count(mdoc, MDOC_BODY, CHECK_ERROR, CHECK_GT, 0)); -} - -static int +static void bwarn_ge1(POST_ARGS) { - return(check_count(mdoc, MDOC_BODY, CHECK_WARN, CHECK_GT, 0)); -} - -static int -ewarn_eq0(POST_ARGS) -{ - return(check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_EQ, 0)); + check_count(mdoc, MDOC_BODY, CHECK_WARN, CHECK_GT, 0); } -static int +static void ewarn_eq1(POST_ARGS) { - return(check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_EQ, 1)); + check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_EQ, 1); } -static int +static void ewarn_ge1(POST_ARGS) { - return(check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_GT, 0)); + check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_GT, 0); } -static int -ewarn_le1(POST_ARGS) -{ - return(check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_LT, 2)); -} - -static int +static void hwarn_eq0(POST_ARGS) { - return(check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_EQ, 0)); -} - -static int -hwarn_eq1(POST_ARGS) -{ - return(check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_EQ, 1)); -} - -static int -hwarn_ge1(POST_ARGS) -{ - return(check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_GT, 0)); + check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_EQ, 0); } static void @@ -498,13 +466,13 @@ check_text(struct mdoc *mdoc, int ln, int pos, char *p) ln, pos + (int)(p - cp), NULL); } -static int +static void pre_display(PRE_ARGS) { struct mdoc_node *node; if (MDOC_BLOCK != n->type) - return(1); + return; for (node = mdoc->last->parent; node; node = node->parent) if (MDOC_BLOCK == node->type) @@ -515,11 +483,9 @@ pre_display(PRE_ARGS) mandoc_vmsg(MANDOCERR_BD_NEST, mdoc->parse, n->line, n->pos, "%s in Bd", mdoc_macronames[n->tok]); - - return(1); } -static int +static void pre_bl(PRE_ARGS) { struct mdoc_node *np; @@ -538,7 +504,7 @@ pre_bl(PRE_ARGS) assert(np); assert(MDOC_BLOCK == np->type); assert(MDOC_Bl == np->tok); - return(1); + return; } /* @@ -709,11 +675,10 @@ pre_bl(PRE_ARGS) default: break; } - - return(pre_par(mdoc, n)); + pre_par(mdoc, n); } -static int +static void pre_bd(PRE_ARGS) { struct mdoc_node *np; @@ -733,7 +698,7 @@ pre_bd(PRE_ARGS) assert(np); assert(MDOC_BLOCK == np->type); assert(MDOC_Bd == np->tok); - return(1); + return; } for (i = 0; n->args && i < (int)n->args->argc; i++) { @@ -802,18 +767,17 @@ pre_bd(PRE_ARGS) n->line, n->pos, "Bd"); n->norm->Bd.type = DISP_ragged; } - - return(pre_par(mdoc, n)); + pre_par(mdoc, n); } -static int +static void pre_an(PRE_ARGS) { struct mdoc_argv *argv; size_t i; if (n->args == NULL) - return(1); + return; for (i = 1; i < n->args->argc; i++) { argv = n->args->argv + i; @@ -829,34 +793,30 @@ pre_an(PRE_ARGS) n->norm->An.auth = AUTH_nosplit; else abort(); - - return(1); } -static int +static void pre_std(PRE_ARGS) { if (n->args && 1 == n->args->argc) if (MDOC_Std == n->args->argv[0].arg) - return(1); + return; mandoc_msg(MANDOCERR_ARG_STD, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); - return(1); } -static int +static void pre_obsolete(PRE_ARGS) { if (MDOC_ELEM == n->type || MDOC_BLOCK == n->type) mandoc_msg(MANDOCERR_MACRO_OBS, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); - return(1); } -static int +static void pre_dt(PRE_ARGS) { @@ -866,10 +826,9 @@ pre_dt(PRE_ARGS) else if (mdoc->meta.os != NULL) mandoc_msg(MANDOCERR_PROLOG_ORDER, mdoc->parse, n->line, n->pos, "Dt after Os"); - return(1); } -static int +static void pre_os(PRE_ARGS) { @@ -879,10 +838,9 @@ pre_os(PRE_ARGS) else if (mdoc->flags & MDOC_PBODY) mandoc_msg(MANDOCERR_PROLOG_LATE, mdoc->parse, n->line, n->pos, "Os"); - return(1); } -static int +static void pre_dd(PRE_ARGS) { @@ -898,10 +856,9 @@ pre_dd(PRE_ARGS) else if (mdoc->meta.os != NULL) mandoc_msg(MANDOCERR_PROLOG_ORDER, mdoc->parse, n->line, n->pos, "Dd after Os"); - return(1); } -static int +static void post_bf(POST_ARGS) { struct mdoc_node *np, *nch; @@ -924,7 +881,7 @@ post_bf(POST_ARGS) assert(np); assert(MDOC_HEAD == np->type); assert(MDOC_Bf == np->tok); - return(1); + return; } np = mdoc->last; @@ -938,7 +895,7 @@ post_bf(POST_ARGS) if (NULL == nch) { mandoc_msg(MANDOCERR_BF_NOFONT, mdoc->parse, np->line, np->pos, "Bf"); - return(1); + return; } nch = nch->next; } @@ -958,7 +915,7 @@ post_bf(POST_ARGS) np->norm->Bf.font = FONT_Sy; else abort(); - return(1); + return; } /* Extract parameter into data. */ @@ -973,11 +930,9 @@ post_bf(POST_ARGS) mandoc_vmsg(MANDOCERR_BF_BADFONT, mdoc->parse, np->child->line, np->child->pos, "Bf %s", np->child->string); - - return(1); } -static int +static void post_lb(POST_ARGS) { struct mdoc_node *n; @@ -999,10 +954,9 @@ post_lb(POST_ARGS) free(n->string); n->string = libname; - return(1); } -static int +static void post_eoln(POST_ARGS) { const struct mdoc_node *n; @@ -1013,10 +967,9 @@ post_eoln(POST_ARGS) mdoc->parse, n->line, n->pos, "%s %s", mdoc_macronames[n->tok], n->child->string); - return(1); } -static int +static void post_fname(POST_ARGS) { const struct mdoc_node *n; @@ -1029,30 +982,27 @@ post_fname(POST_ARGS) if ( ! (cp[0] == '\0' || (cp[0] == '(' && cp[1] == '*'))) mandoc_msg(MANDOCERR_FN_PAREN, mdoc->parse, n->line, n->pos + pos, n->string); - return(1); } -static int +static void post_fn(POST_ARGS) { post_fname(mdoc); post_fa(mdoc); - return(1); } -static int +static void post_fo(POST_ARGS) { - hwarn_eq1(mdoc); + check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_EQ, 1); bwarn_ge1(mdoc); if (mdoc->last->type == MDOC_HEAD && mdoc->last->nchild) post_fname(mdoc); - return(1); } -static int +static void post_fa(POST_ARGS) { const struct mdoc_node *n; @@ -1071,10 +1021,9 @@ post_fa(POST_ARGS) break; } } - return(1); } -static int +static void post_vt(POST_ARGS) { const struct mdoc_node *n; @@ -1088,48 +1037,45 @@ post_vt(POST_ARGS) */ if (MDOC_BODY != mdoc->last->type) - return(1); + return; for (n = mdoc->last->child; n; n = n->next) if (MDOC_TEXT != n->type) mandoc_msg(MANDOCERR_VT_CHILD, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); - - return(1); } -static int +static void post_nm(POST_ARGS) { if (NULL != mdoc->meta.name) - return(1); + return; mdoc_deroff(&mdoc->meta.name, mdoc->last); if (NULL == mdoc->meta.name) mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse, mdoc->last->line, mdoc->last->pos, "Nm"); - return(1); } -static int +static void post_nd(POST_ARGS) { - berr_ge1(mdoc); - return(post_hyph(mdoc)); + check_count(mdoc, MDOC_BODY, CHECK_ERROR, CHECK_GT, 0); + post_hyph(mdoc); } -static int +static void post_d1(POST_ARGS) { bwarn_ge1(mdoc); - return(post_hyph(mdoc)); + post_hyph(mdoc); } -static int +static void post_literal(POST_ARGS) { @@ -1146,11 +1092,9 @@ post_literal(POST_ARGS) if (MDOC_BODY == mdoc->last->type) mdoc->flags &= ~MDOC_LITERAL; - - return(1); } -static int +static void post_defaults(POST_ARGS) { struct mdoc_node *nn; @@ -1162,34 +1106,29 @@ post_defaults(POST_ARGS) */ if (mdoc->last->child) - return(1); + return; nn = mdoc->last; mdoc->next = MDOC_NEXT_CHILD; switch (nn->tok) { case MDOC_Ar: - if ( ! mdoc_word_alloc(mdoc, nn->line, nn->pos, "file")) - return(0); - if ( ! mdoc_word_alloc(mdoc, nn->line, nn->pos, "...")) - return(0); + mdoc_word_alloc(mdoc, nn->line, nn->pos, "file"); + mdoc_word_alloc(mdoc, nn->line, nn->pos, "..."); break; case MDOC_Pa: /* FALLTHROUGH */ case MDOC_Mt: - if ( ! mdoc_word_alloc(mdoc, nn->line, nn->pos, "~")) - return(0); + mdoc_word_alloc(mdoc, nn->line, nn->pos, "~"); break; default: abort(); /* NOTREACHED */ } - mdoc->last = nn; - return(1); } -static int +static void post_at(POST_ARGS) { struct mdoc_node *n; @@ -1199,10 +1138,9 @@ post_at(POST_ARGS) n = mdoc->last; if (n->child == NULL) { mdoc->next = MDOC_NEXT_CHILD; - if ( ! mdoc_word_alloc(mdoc, n->line, n->pos, "AT&T UNIX")) - return(0); + mdoc_word_alloc(mdoc, n->line, n->pos, "AT&T UNIX"); mdoc->last = n; - return(1); + return; } /* @@ -1222,10 +1160,9 @@ post_at(POST_ARGS) free(n->string); n->string = att; - return(1); } -static int +static void post_an(POST_ARGS) { struct mdoc_node *np; @@ -1236,28 +1173,24 @@ post_an(POST_ARGS) check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_GT, 0); } else if (np->child) check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_EQ, 0); - - return(1); } -static int +static void post_en(POST_ARGS) { if (MDOC_BLOCK == mdoc->last->type) mdoc->last->norm->Es = mdoc->last_es; - return(1); } -static int +static void post_es(POST_ARGS) { mdoc->last_es = mdoc->last; - return(1); } -static int +static void post_it(POST_ARGS) { int i, cols; @@ -1266,7 +1199,7 @@ post_it(POST_ARGS) nit = mdoc->last; if (MDOC_BLOCK != nit->type) - return(1); + return; nbl = nit->parent->parent; lt = nbl->norm->Bl.type; @@ -1323,11 +1256,9 @@ post_it(POST_ARGS) default: abort(); } - - return(1); } -static int +static void post_bl_block(POST_ARGS) { struct mdoc_node *n, *ni, *nc; @@ -1344,8 +1275,7 @@ post_bl_block(POST_ARGS) if (LIST_tag == n->norm->Bl.type && NULL == n->norm->Bl.width) { - if ( ! post_bl_block_tag(mdoc)) - return(0); + post_bl_block_tag(mdoc); assert(n->norm->Bl.width); } @@ -1369,8 +1299,7 @@ post_bl_block(POST_ARGS) mandoc_msg(MANDOCERR_PAR_MOVE, mdoc->parse, nc->line, nc->pos, mdoc_macronames[nc->tok]); - if ( ! mdoc_node_relink(mdoc, nc)) - return(0); + mdoc_node_relink(mdoc, nc); } else if (0 == n->norm->Bl.comp && LIST_column != n->norm->Bl.type) { mandoc_vmsg(MANDOCERR_PAR_SKIP, @@ -1383,7 +1312,6 @@ post_bl_block(POST_ARGS) nc = ni->body->last; } } - return(1); } /* @@ -1409,7 +1337,7 @@ rewrite_macro2len(char **arg) mandoc_asprintf(arg, "%zun", width); } -static int +static void post_bl_block_tag(POST_ARGS) { struct mdoc_node *n, *nn; @@ -1472,19 +1400,20 @@ post_bl_block_tag(POST_ARGS) /* Set our width! */ n->norm->Bl.width = n->args->argv[i].value[0]; - return(1); } -static int +static void post_bl_head(POST_ARGS) { struct mdoc_node *np, *nn, *nnp; struct mdoc_argv *argv; int i, j; - if (LIST_column != mdoc->last->norm->Bl.type) + if (LIST_column != mdoc->last->norm->Bl.type) { /* FIXME: this should be ERROR class... */ - return(hwarn_eq0(mdoc)); + hwarn_eq0(mdoc); + return; + } /* * Append old-style lists, where the column width specifiers @@ -1493,7 +1422,7 @@ post_bl_head(POST_ARGS) */ if (mdoc->last->child == NULL) - return(1); + return; np = mdoc->last->parent; assert(np->args); @@ -1529,11 +1458,9 @@ post_bl_head(POST_ARGS) mdoc->last->nchild = 0; mdoc->last->child = NULL; - - return(1); } -static int +static void post_bl(POST_ARGS) { struct mdoc_node *nparent, *nprev; /* of the Bl block */ @@ -1543,13 +1470,15 @@ post_bl(POST_ARGS) nbody = mdoc->last; switch (nbody->type) { case MDOC_BLOCK: - return(post_bl_block(mdoc)); + post_bl_block(mdoc); + return; case MDOC_HEAD: - return(post_bl_head(mdoc)); + post_bl_head(mdoc); + return; case MDOC_BODY: break; default: - return(1); + return; } bwarn_ge1(mdoc); @@ -1606,20 +1535,17 @@ post_bl(POST_ARGS) nchild = nnext; } - - return(1); } -static int +static void post_bk(POST_ARGS) { hwarn_eq0(mdoc); bwarn_ge1(mdoc); - return(1); } -static int +static void post_sm(struct mdoc *mdoc) { struct mdoc_node *nch; @@ -1628,27 +1554,28 @@ post_sm(struct mdoc *mdoc) if (nch == NULL) { mdoc->flags ^= MDOC_SMOFF; - return(1); + return; } assert(nch->type == MDOC_TEXT); if ( ! strcmp(nch->string, "on")) { mdoc->flags &= ~MDOC_SMOFF; - return(1); + return; } if ( ! strcmp(nch->string, "off")) { mdoc->flags |= MDOC_SMOFF; - return(1); + return; } mandoc_vmsg(MANDOCERR_SM_BAD, mdoc->parse, nch->line, nch->pos, "%s %s", mdoc_macronames[mdoc->last->tok], nch->string); - return(mdoc_node_relink(mdoc, nch)); + mdoc_node_relink(mdoc, nch); + return; } -static int +static void post_root(POST_ARGS) { struct mdoc_node *n; @@ -1686,11 +1613,9 @@ post_root(POST_ARGS) else if (n->tok != MDOC_Sh) mandoc_msg(MANDOCERR_SEC_BEFORE, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); - - return(1); } -static int +static void post_st(POST_ARGS) { struct mdoc_node *n, *nch; @@ -1703,7 +1628,7 @@ post_st(POST_ARGS) mandoc_msg(MANDOCERR_MACRO_EMPTY, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); mdoc_node_delete(mdoc, n); - return(1); + return; } assert(MDOC_TEXT == nch->type); @@ -1716,11 +1641,9 @@ post_st(POST_ARGS) free(nch->string); nch->string = mandoc_strdup(p); } - - return(1); } -static int +static void post_rs(POST_ARGS) { struct mdoc_node *nn, *next, *prev; @@ -1729,14 +1652,14 @@ post_rs(POST_ARGS) switch (mdoc->last->type) { case MDOC_HEAD: check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_EQ, 0); - return(1); + return; case MDOC_BODY: if (mdoc->last->child) break; check_count(mdoc, MDOC_BODY, CHECK_WARN, CHECK_GT, 0); - return(1); + return; default: - return(1); + return; } /* @@ -1810,15 +1733,13 @@ post_rs(POST_ARGS) mdoc->last->child = nn; } } - - return(1); } /* * For some arguments of some macros, * convert all breakable hyphens into ASCII_HYPH. */ -static int +static void post_hyph(POST_ARGS) { struct mdoc_node *n, *nch; @@ -1829,15 +1750,15 @@ post_hyph(POST_ARGS) case MDOC_HEAD: if (MDOC_Sh == n->tok || MDOC_Ss == n->tok) break; - return(1); + return; case MDOC_BODY: if (MDOC_D1 == n->tok || MDOC_Nd == n->tok) break; - return(1); + return; case MDOC_ELEM: break; default: - return(1); + return; } for (nch = n->child; nch; nch = nch->next) { @@ -1852,28 +1773,26 @@ post_hyph(POST_ARGS) isalpha((unsigned char)cp[1])) *cp = ASCII_HYPH; } - return(1); } -static int +static void post_hyphtext(POST_ARGS) { ewarn_ge1(mdoc); - return(post_hyph(mdoc)); + post_hyph(mdoc); } -static int +static void post_ns(POST_ARGS) { if (MDOC_LINE & mdoc->last->flags) mandoc_msg(MANDOCERR_NS_SKIP, mdoc->parse, mdoc->last->line, mdoc->last->pos, NULL); - return(1); } -static int +static void post_sh(POST_ARGS) { @@ -1881,15 +1800,19 @@ post_sh(POST_ARGS) switch (mdoc->last->type) { case MDOC_HEAD: - return(post_sh_head(mdoc)); + post_sh_head(mdoc); + break; case MDOC_BODY: switch (mdoc->lastsec) { case SEC_NAME: - return(post_sh_name(mdoc)); + post_sh_name(mdoc); + break; case SEC_SEE_ALSO: - return(post_sh_see_also(mdoc)); + post_sh_see_also(mdoc); + break; case SEC_AUTHORS: - return(post_sh_authors(mdoc)); + post_sh_authors(mdoc); + break; default: break; } @@ -1897,11 +1820,9 @@ post_sh(POST_ARGS) default: break; } - - return(1); } -static int +static void post_sh_name(POST_ARGS) { struct mdoc_node *n; @@ -1915,7 +1836,7 @@ post_sh_name(POST_ARGS) if (NULL == (n = mdoc->last->child)) { mandoc_msg(MANDOCERR_NAMESEC_BAD, mdoc->parse, mdoc->last->line, mdoc->last->pos, "empty"); - return(1); + return; } for ( ; n && n->next; n = n->next) { @@ -1929,14 +1850,13 @@ post_sh_name(POST_ARGS) assert(n); if (MDOC_BLOCK == n->type && MDOC_Nd == n->tok) - return(1); + return; mandoc_msg(MANDOCERR_NAMESEC_BAD, mdoc->parse, n->line, n->pos, mdoc_macronames[n->tok]); - return(1); } -static int +static void post_sh_see_also(POST_ARGS) { const struct mdoc_node *n; @@ -1988,7 +1908,7 @@ post_sh_see_also(POST_ARGS) break; for (name = n->string; *name != '\0'; name++) if (isalpha((const unsigned char)*name)) - return(1); + return; lastpunct = n->string; if (n->next == NULL) mandoc_vmsg(MANDOCERR_XR_PUNCT, mdoc->parse, @@ -1996,7 +1916,6 @@ post_sh_see_also(POST_ARGS) lastpunct, lastname, lastsec); n = n->next; } - return(1); } static int @@ -2009,17 +1928,16 @@ child_an(const struct mdoc_node *n) return(0); } -static int +static void post_sh_authors(POST_ARGS) { if ( ! child_an(mdoc->last)) mandoc_msg(MANDOCERR_AN_MISSING, mdoc->parse, mdoc->last->line, mdoc->last->pos, NULL); - return(1); } -static int +static void post_sh_head(POST_ARGS) { struct mdoc_node *n; @@ -2078,7 +1996,7 @@ post_sh_head(POST_ARGS) if (SEC_CUSTOM == sec) { free(secname); - return(1); + return; } /* @@ -2104,7 +2022,7 @@ post_sh_head(POST_ARGS) if (mdoc->meta.msec == NULL) { free(secname); - return(1); + return; } goodsec = NULL; @@ -2136,21 +2054,19 @@ post_sh_head(POST_ARGS) default: break; } - free(secname); - return(1); } -static int +static void post_ignpar(POST_ARGS) { struct mdoc_node *np; - hwarn_ge1(mdoc); + check_count(mdoc, MDOC_HEAD, CHECK_WARN, CHECK_GT, 0); post_hyph(mdoc); if (MDOC_BODY != mdoc->last->type) - return(1); + return; if (NULL != (np = mdoc->last->child)) if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) { @@ -2169,18 +2085,16 @@ post_ignpar(POST_ARGS) mdoc_macronames[mdoc->last->tok]); mdoc_node_delete(mdoc, np); } - - return(1); } -static int +static void pre_par(PRE_ARGS) { if (NULL == mdoc->last) - return(1); + return; if (MDOC_ELEM != n->type && MDOC_BLOCK != n->type) - return(1); + return; /* * Don't allow prior `Lp' or `Pp' prior to a paragraph-type @@ -2190,63 +2104,59 @@ pre_par(PRE_ARGS) if (MDOC_Pp != mdoc->last->tok && MDOC_Lp != mdoc->last->tok && MDOC_br != mdoc->last->tok) - return(1); + return; if (MDOC_Bl == n->tok && n->norm->Bl.comp) - return(1); + return; if (MDOC_Bd == n->tok && n->norm->Bd.comp) - return(1); + return; if (MDOC_It == n->tok && n->parent->norm->Bl.comp) - return(1); + return; mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, mdoc->last->line, mdoc->last->pos, "%s before %s", mdoc_macronames[mdoc->last->tok], mdoc_macronames[n->tok]); mdoc_node_delete(mdoc, mdoc->last); - return(1); } -static int +static void post_par(POST_ARGS) { struct mdoc_node *np; if (mdoc->last->tok == MDOC_sp) - ewarn_le1(mdoc); + check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_LT, 2); else - ewarn_eq0(mdoc); + check_count(mdoc, MDOC_ELEM, CHECK_WARN, CHECK_EQ, 0); if (MDOC_ELEM != mdoc->last->type && MDOC_BLOCK != mdoc->last->type) - return(1); + return; if (NULL == (np = mdoc->last->prev)) { np = mdoc->last->parent; if (MDOC_Sh != np->tok && MDOC_Ss != np->tok) - return(1); - } else { - if (MDOC_Pp != np->tok && MDOC_Lp != np->tok && - (MDOC_br != mdoc->last->tok || - (MDOC_sp != np->tok && MDOC_br != np->tok))) - return(1); - } + return; + } else if (MDOC_Pp != np->tok && MDOC_Lp != np->tok && + (MDOC_br != mdoc->last->tok || + (MDOC_sp != np->tok && MDOC_br != np->tok))) + return; mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, mdoc->last->line, mdoc->last->pos, "%s after %s", mdoc_macronames[mdoc->last->tok], mdoc_macronames[np->tok]); mdoc_node_delete(mdoc, mdoc->last); - return(1); } -static int +static void pre_literal(PRE_ARGS) { pre_display(mdoc, n); if (MDOC_BODY != n->type) - return(1); + return; /* * The `Dl' (note "el" not "one") and `Bd -literal' and `Bd @@ -2267,11 +2177,9 @@ pre_literal(PRE_ARGS) abort(); /* NOTREACHED */ } - - return(1); } -static int +static void post_dd(POST_ARGS) { struct mdoc_node *n; @@ -2298,10 +2206,9 @@ post_dd(POST_ARGS) } out: mdoc_node_delete(mdoc, n); - return(1); } -static int +static void post_dt(POST_ARGS) { struct mdoc_node *nn, *n; @@ -2403,10 +2310,9 @@ post_dt(POST_ARGS) /* FIXME: warn about subsequent parameters. */ out: mdoc_node_delete(mdoc, n); - return(1); } -static int +static void post_bx(POST_ARGS) { struct mdoc_node *n; @@ -2420,11 +2326,9 @@ post_bx(POST_ARGS) n = mdoc->last->child; if (n && NULL != (n = n->next)) *n->string = (char)toupper((unsigned char)*n->string); - - return(1); } -static int +static void post_os(POST_ARGS) { #ifndef OSNAME @@ -2472,14 +2376,13 @@ post_os(POST_ARGS) out: mdoc_node_delete(mdoc, n); - return(1); } /* * If no argument is provided, * fill in the name of the current manual page. */ -static int +static void post_ex(POST_ARGS) { struct mdoc_node *n; @@ -2487,21 +2390,17 @@ post_ex(POST_ARGS) n = mdoc->last; if (n->child) - return(1); + return; if (mdoc->meta.name == NULL) { mandoc_msg(MANDOCERR_EX_NONAME, mdoc->parse, n->line, n->pos, "Ex"); - return(1); + return; } mdoc->next = MDOC_NEXT_CHILD; - - if ( ! mdoc_word_alloc(mdoc, n->line, n->pos, mdoc->meta.name)) - return(0); - + mdoc_word_alloc(mdoc, n->line, n->pos, mdoc->meta.name); mdoc->last = n; - return(1); } static enum mdoc_sec |