]> git.cameronkatri.com Git - mandoc.git/blobdiff - man_validate.c
"If the last column wasn't specified, it is auto-sized." (patch by Joerg Sonnenberger)
[mandoc.git] / man_validate.c
index ad40b4a45bf004be0bf834a8e01f13eaf0e83990..00cf5e1c8eee880047b91c23f97c6cd15edf7ecc 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: man_validate.c,v 1.32 2010/03/27 10:04:56 kristaps Exp $ */
+/*     $Id: man_validate.c,v 1.35 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -59,7 +59,7 @@ static        v_check   posts_part[] = { check_part, NULL };
 static v_check   posts_sec[] = { check_sec, NULL };
 static v_check   posts_le1[] = { check_le1, NULL };
 static v_check   pres_bline[] = { check_bline, NULL };
-static v_check   pres_roff[] = { check_bline, check_roff, NULL };
+static v_check   pres_roff[] = { check_roff, NULL };
 
 static const struct man_valid man_valids[MAN_MAX] = {
        { NULL, posts_eq0 }, /* br */
@@ -167,8 +167,19 @@ check_root(CHKARGS)
 
        if (NULL == m->first->child)
                return(man_nerr(m, n, WNODATA));
-       if (NULL == m->meta.title)
-               return(man_nerr(m, n, WNOTITLE));
+       if (NULL == m->meta.title) {
+               if ( ! man_nwarn(m, n, WNOTITLE))
+                       return(0);
+               /*
+                * If a title hasn't been set, do so now (by
+                * implication, date and section also aren't set).
+                * 
+                * FIXME: this should be in man_action.c.
+                */
+               m->meta.title = mandoc_strdup("unknown");
+               m->meta.date = time(NULL);
+               m->meta.msec = 1;
+       }
 
        return(1);
 }
@@ -218,9 +229,7 @@ check_text(CHKARGS)
                if ('\t' == *p || isprint((u_char)*p)) 
                        continue;
 
-               if (MAN_IGN_CHARS & m->pflags)
-                       return(man_pwarn(m, n->line, pos, WNPRINT));
-               return(man_perr(m, n->line, pos, WNPRINT));
+               return(man_pwarn(m, n->line, pos, WNPRINT));
        }
 
        return(1);