aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-02-09 09:05:52 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-02-09 09:05:52 +0000
commit7e1515051811beb532cd49dfdf82f778dde90e81 (patch)
tree167361db4dfd08c4d04082b1b45294ae5c0146b3 /mdoc.c
parentc4585f51e1879dba09462098517aec738f246342 (diff)
downloadmandoc-7e1515051811beb532cd49dfdf82f778dde90e81.tar.gz
mandoc-7e1515051811beb532cd49dfdf82f778dde90e81.tar.zst
mandoc-7e1515051811beb532cd49dfdf82f778dde90e81.zip
Allow EQN data to be pushed down into libmdoc via mdoc_addeqn(). Only
the adding itself is implemented; equation data is not yet shown.
Diffstat (limited to 'mdoc.c')
-rw-r--r--mdoc.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/mdoc.c b/mdoc.c
index a1d3db3d..7e8e8bec 100644
--- a/mdoc.c
+++ b/mdoc.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc.c,v 1.180 2011/02/08 07:40:23 kristaps Exp $ */
+/* $Id: mdoc.c,v 1.181 2011/02/09 09:05:52 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -222,6 +222,30 @@ mdoc_endparse(struct mdoc *m)
}
int
+mdoc_addeqn(struct mdoc *m, const struct eqn *ep)
+{
+ struct mdoc_node *n;
+
+ assert( ! (MDOC_HALT & m->flags));
+
+ /* No text before an initial macro. */
+
+ if (SEC_NONE == m->lastnamed) {
+ mdoc_pmsg(m, ep->line, ep->pos, MANDOCERR_NOTEXT);
+ return(1);
+ }
+
+ n = node_alloc(m, ep->line, ep->pos, MDOC_MAX, MDOC_EQN);
+ n->eqn = ep;
+
+ if ( ! node_append(m, n))
+ return(0);
+
+ m->next = MDOC_NEXT_SIBLING;
+ return(1);
+}
+
+int
mdoc_addspan(struct mdoc *m, const struct tbl_span *sp)
{
struct mdoc_node *n;