summaryrefslogtreecommitdiffstats
path: root/libroff.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-07-08 14:51:04 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-07-08 14:51:04 +0000
commitd0fd318699f4643ac39d3c0a9d6676fd495f5aaf (patch)
tree65266c33c4abb371cf05c015eb528326665059c6 /libroff.h
parent244d91e692e1b324ecf144eb153c3ded672b57d1 (diff)
downloadmandoc-d0fd318699f4643ac39d3c0a9d6676fd495f5aaf.tar.gz
1. Eliminate struct eqn, instead use the existing members
of struct roff_node which is allocated for each equation anyway. 2. Do not keep a list of equation parsers, one parser is enough. Minus fifty lines of code, no functional change.
Diffstat (limited to 'libroff.h')
-rw-r--r--libroff.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/libroff.h b/libroff.h
index e72fd2bb..4ad91a00 100644
--- a/libroff.h
+++ b/libroff.h
@@ -38,9 +38,8 @@ struct tbl_node {
};
struct eqn_node {
- struct eqn eqn; /* syntax tree of this equation */
struct mparse *parse; /* main parser, for error reporting */
- struct eqn_node *next; /* singly linked list of equations */
+ struct roff_node *node; /* syntax tree of this equation */
struct eqn_def *defs; /* array of definitions */
char *data; /* source code of this equation */
char *start; /* first byte of the current token */
@@ -73,8 +72,9 @@ void tbl_data(struct tbl_node *, int, const char *, int);
int tbl_cdata(struct tbl_node *, int, const char *, int);
const struct tbl_span *tbl_span(struct tbl_node *);
int tbl_end(struct tbl_node **);
-struct eqn_node *eqn_alloc(int, int, struct mparse *);
-enum rofferr eqn_end(struct eqn_node **);
+struct eqn_node *eqn_alloc(struct mparse *);
+void eqn_box_free(struct eqn_box *);
void eqn_free(struct eqn_node *);
-enum rofferr eqn_read(struct eqn_node **, int,
- const char *, int, int *);
+void eqn_parse(struct eqn_node *);
+void eqn_read(struct eqn_node *, const char *);
+void eqn_reset(struct eqn_node *);