aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/action.c
diff options
context:
space:
mode:
Diffstat (limited to 'action.c')
-rw-r--r--action.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/action.c b/action.c
index 3c0981e9..19bb1387 100644
--- a/action.c
+++ b/action.c
@@ -1,4 +1,4 @@
-/* $Id: action.c,v 1.8 2009/01/16 11:50:54 kristaps Exp $ */
+/* $Id: action.c,v 1.9 2009/01/16 12:23:25 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -292,7 +292,7 @@ post_dd(struct mdoc *mdoc)
if ( ! xstrlcat(date, n->data.text.string, sz))
return(mdoc_nerr(mdoc, n, "badly-formed manual date parameter"));
- if ( ! xstrlcat(date, " ", sz))
+ if (n->next && ! xstrlcat(date, " ", sz))
return(mdoc_nerr(mdoc, n, "badly-formed manual date parameter"));
}
@@ -300,6 +300,13 @@ post_dd(struct mdoc *mdoc)
mdoc_msg(mdoc, "parsed time: %u since epoch",
mdoc->meta.date);
return(1);
+ } else if (n)
+ return(mdoc_err(mdoc, "badly-formed manual date"));
+
+ if ((mdoc->meta.date = mdoc_atotime(date))) {
+ mdoc_msg(mdoc, "parsed time: %u since epoch",
+ mdoc->meta.date);
+ return(1);
}
return(mdoc_err(mdoc, "badly-formed manual date"));