diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2018-12-13 03:40:13 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2018-12-13 03:40:13 +0000 |
commit | 41c83570cd0b176c663b583e5990f9869f214754 (patch) | |
tree | 95da442ae18416eff5593d4cdb041f4ad5bc78c7 /eqn.c | |
parent | 8778c0e49080778fd04dc5a3c1aac38addbfa5a4 (diff) | |
download | mandoc-41c83570cd0b176c663b583e5990f9869f214754.tar.gz mandoc-41c83570cd0b176c663b583e5990f9869f214754.tar.zst mandoc-41c83570cd0b176c663b583e5990f9869f214754.zip |
Cleanup, no functional change:
In libroff.h, nothing was left except the eqn(7) parser interface, which
isn't really part of the roff(7) parser, so rename it to eqn_parse.h.
While here, move struct eqn_def to eqn.c because that's the only
file using it, and let eqn_box_free() and eqn_free() handle NULL.
Diffstat (limited to 'eqn.c')
-rw-r--r-- | eqn.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $Id: eqn.c,v 1.79 2018/12/12 21:54:35 schwarze Exp $ */ +/* $Id: eqn.c,v 1.80 2018/12/13 03:40:13 schwarze Exp $ */ /* * Copyright (c) 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org> @@ -30,9 +30,8 @@ #include "mandoc_aux.h" #include "mandoc.h" #include "roff.h" -#include "tbl.h" #include "libmandoc.h" -#include "libroff.h" +#include "eqn_parse.h" #define EQN_NEST_MAX 128 /* maximum nesting of defines */ #define STRNEQ(p1, sz1, p2, sz2) \ @@ -285,6 +284,13 @@ enum parse_mode { MODE_TOK }; +struct eqn_def { + char *key; + size_t keysz; + char *val; + size_t valsz; +}; + static struct eqn_box *eqn_box_alloc(struct eqn_node *, struct eqn_box *); static struct eqn_box *eqn_box_makebinary(struct eqn_node *, struct eqn_box *); @@ -469,6 +475,8 @@ eqn_next(struct eqn_node *ep, enum parse_mode mode) void eqn_box_free(struct eqn_box *bp) { + if (bp == NULL) + return; if (bp->first) eqn_box_free(bp->first); @@ -1093,6 +1101,9 @@ eqn_free(struct eqn_node *p) { int i; + if (p == NULL) + return; + for (i = 0; i < (int)p->defsz; i++) { free(p->defs[i].key); free(p->defs[i].val); |