=================================================================== RCS file: /cvs/mandoc/mdoc_validate.c,v retrieving revision 1.250 retrieving revision 1.252 diff -u -p -r1.250 -r1.252 --- mandoc/mdoc_validate.c 2014/10/11 21:14:16 1.250 +++ mandoc/mdoc_validate.c 2014/10/13 14:01:21 1.252 @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.250 2014/10/11 21:14:16 schwarze Exp $ */ +/* $Id: mdoc_validate.c,v 1.252 2014/10/13 14:01:21 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -1004,12 +1004,14 @@ post_eoln(POST_ARGS) static int post_fname(POST_ARGS) { - const struct mdoc_node *n; - size_t pos; + const struct mdoc_node *n; + const char *cp; + size_t pos; n = mdoc->last->child; pos = strcspn(n->string, "()"); - if (n->string[pos] != '\0') + cp = n->string + pos; + if ( ! (cp[0] == '\0' || (cp[0] == '(' && cp[1] == '*'))) mandoc_msg(MANDOCERR_FN_PAREN, mdoc->parse, n->line, n->pos + pos, n->string); return(1); @@ -1030,7 +1032,7 @@ post_fo(POST_ARGS) hwarn_eq1(mdoc); bwarn_ge1(mdoc); - if (mdoc->last->type == MDOC_HEAD) + if (mdoc->last->type == MDOC_HEAD && mdoc->last->nchild) post_fname(mdoc); return(1); }