=================================================================== RCS file: /cvs/mandoc/man_validate.c,v retrieving revision 1.75 retrieving revision 1.77 diff -u -p -r1.75 -r1.77 --- mandoc/man_validate.c 2011/09/06 17:53:50 1.75 +++ mandoc/man_validate.c 2011/11/03 20:48:52 1.77 @@ -1,4 +1,4 @@ -/* $Id: man_validate.c,v 1.75 2011/09/06 17:53:50 kristaps Exp $ */ +/* $Id: man_validate.c,v 1.77 2011/11/03 20:48:52 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -213,12 +213,12 @@ check_text(CHKARGS) { char *cp, *p; - cp = p = n->string; - for (cp = p; NULL != (p = strchr(p, '\t')); p++) { - if (MAN_LITERAL & m->flags) - continue; + if (MAN_LITERAL & m->flags) + return; + + cp = n->string; + for (p = cp; NULL != (p = strchr(p, '\t')); p++) man_pmsg(m, n->line, (int)(p - cp), MANDOCERR_BADTAB); - } } #define INEQ_DEFINE(x, ineq, name) \ @@ -415,10 +415,12 @@ post_TH(CHKARGS) if (n) n = n->next; - if (n) + if (n && n->string && '\0' != n->string[0]) { pos = n->pos; - m->meta.date = mandoc_normdate - (m->parse, n ? n->string : NULL, line, pos); + m->meta.date = mandoc_normdate + (m->parse, n->string, line, pos); + } else + m->meta.date = mandoc_strdup(""); /* TITLE MSEC DATE ->SOURCE<- VOL */ @@ -474,7 +476,6 @@ post_UC(CHKARGS) const char *p, *s; n = n->child; - n = m->last->child; if (NULL == n || MAN_TEXT != n->type) p = bsd_versions[0];