diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-07-08 14:51:04 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-07-08 14:51:04 +0000 |
commit | d0fd318699f4643ac39d3c0a9d6676fd495f5aaf (patch) | |
tree | 65266c33c4abb371cf05c015eb528326665059c6 /libroff.h | |
parent | 244d91e692e1b324ecf144eb153c3ded672b57d1 (diff) | |
download | mandoc-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.h | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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 *); |