aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_validate.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-07-30 14:50:08 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-07-30 14:50:08 +0000
commitacabb8adac4c3a73958a04790a165c1880c5f91c (patch)
tree39c45c61e29705d3c9e0594d9253cc15aa9aaea4 /mdoc_validate.c
parenta9c60e19e39804deecac9dc666a4ccad62e76f9c (diff)
downloadmandoc-acabb8adac4c3a73958a04790a165c1880c5f91c.tar.gz
mandoc-acabb8adac4c3a73958a04790a165c1880c5f91c.tar.zst
mandoc-acabb8adac4c3a73958a04790a165c1880c5f91c.zip
Remove two useless FATAL errors.
When a file contains neither text nor macros, treat it as an empty document. When the mdoc(7) document prologue is incomplete, use some default values.
Diffstat (limited to 'mdoc_validate.c')
-rw-r--r--mdoc_validate.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/mdoc_validate.c b/mdoc_validate.c
index 3e8830a0..7907c4d4 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.233 2014/07/30 12:58:21 schwarze Exp $ */
+/* $Id: mdoc_validate.c,v 1.234 2014/07/30 14:50:08 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -1683,16 +1683,24 @@ ebool(struct mdoc *mdoc)
static int
post_root(POST_ARGS)
{
- int ret;
struct mdoc_node *n;
- ret = 1;
-
- /* Check that we have a finished prologue. */
+ /* Add missing prologue data. */
if ( ! (MDOC_PBODY & mdoc->flags)) {
- ret = 0;
- mdoc_nmsg(mdoc, mdoc->first, MANDOCERR_NODOCPROLOG);
+ mandoc_msg(MANDOCERR_PROLOG_BAD, mdoc->parse, 0, 0, "EOF");
+ if (mdoc->meta.date == NULL)
+ mdoc->meta.date = mdoc->quick ?
+ mandoc_strdup("") :
+ mandoc_normdate(mdoc->parse, NULL, 0, 0);
+ if (mdoc->meta.title == NULL)
+ mdoc->meta.title = mandoc_strdup("UNKNOWN");
+ if (mdoc->meta.vol == NULL)
+ mdoc->meta.vol = mandoc_strdup("LOCAL");
+ if (mdoc->meta.arch == NULL)
+ mdoc->meta.msec = mandoc_strdup("1");
+ if (mdoc->meta.os == NULL)
+ mdoc->meta.os = mandoc_strdup("UNKNOWN");
}
n = mdoc->first;
@@ -1707,7 +1715,7 @@ post_root(POST_ARGS)
n->child->line, n->child->pos,
mdoc_macronames[n->child->tok]);
- return(ret);
+ return(1);
}
static int