=================================================================== RCS file: /cvs/mandoc/mdoc_validate.c,v retrieving revision 1.80 retrieving revision 1.83 diff -u -p -r1.80 -r1.83 --- mandoc/mdoc_validate.c 2010/05/17 23:57:06 1.80 +++ mandoc/mdoc_validate.c 2010/05/26 09:35:35 1.83 @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.80 2010/05/17 23:57:06 kristaps Exp $ */ +/* $Id: mdoc_validate.c,v 1.83 2010/05/26 09:35:35 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -137,7 +138,6 @@ static v_pre pres_er[] = { NULL, NULL }; static v_pre pres_ex[] = { NULL, NULL }; static v_pre pres_fd[] = { NULL, NULL }; static v_pre pres_it[] = { pre_it, NULL }; -static v_pre pres_lb[] = { NULL, NULL }; static v_pre pres_os[] = { pre_os, NULL }; static v_pre pres_rv[] = { pre_rv, NULL }; static v_pre pres_sh[] = { pre_sh, NULL }; @@ -250,7 +250,7 @@ const struct valids mdoc_valids[MDOC_MAX] = { { NULL, NULL }, /* Hf */ { NULL, NULL }, /* Fr */ { NULL, posts_notext }, /* Ud */ - { pres_lb, posts_lb }, /* Lb */ + { NULL, posts_lb }, /* Lb */ { NULL, posts_notext }, /* Lp */ { NULL, posts_text }, /* Lk */ { NULL, posts_text }, /* Mt */ @@ -462,7 +462,7 @@ check_text(struct mdoc *mdoc, int line, int pos, const if ( ! (MDOC_LITERAL & mdoc->flags)) if ( ! mdoc_pmsg(mdoc, line, pos, MANDOCERR_BADCHAR)) return(0); - } else if ( ! isprint((u_char)*p)) + } else if ( ! isprint((u_char)*p) && ASCII_HYPH != *p) if ( ! mdoc_pmsg(mdoc, line, pos, MANDOCERR_BADCHAR)) return(0); @@ -1224,7 +1224,7 @@ post_sh_body(POST_ARGS) static int post_sh_head(POST_ARGS) { - char buf[64]; + char buf[BUFSIZ]; enum mdoc_sec sec; const struct mdoc_node *n; @@ -1246,13 +1246,13 @@ post_sh_head(POST_ARGS) /* XXX - copied from compact(). */ assert(MDOC_TEXT == n->type); - if (strlcat(buf, n->string, 64) >= 64) { + if (strlcat(buf, n->string, BUFSIZ) >= BUFSIZ) { mdoc_nmsg(mdoc, n, MANDOCERR_MEM); return(0); } if (NULL == n->next) continue; - if (strlcat(buf, " ", 64) >= 64) { + if (strlcat(buf, " ", BUFSIZ) >= BUFSIZ) { mdoc_nmsg(mdoc, n, MANDOCERR_MEM); return(0); }