aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/eqn.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-22 12:55:02 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-22 12:55:02 +0000
commit71208ad88584e6d12dd19bf89bb7acb9c9e24496 (patch)
tree635017bef0314d115432084bdff67a1d6444544d /eqn.c
parent6d8d387d78183a69812a1111b555a69f4211d319 (diff)
downloadmandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.tar.gz
mandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.tar.zst
mandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.zip
Fix left/right nesting in eqn.
Diffstat (limited to 'eqn.c')
-rw-r--r--eqn.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/eqn.c b/eqn.c
index 4976acbb..d2e47ea6 100644
--- a/eqn.c
+++ b/eqn.c
@@ -1,4 +1,4 @@
-/* $Id: eqn.c,v 1.25 2011/07/22 10:36:58 kristaps Exp $ */
+/* $Id: eqn.c,v 1.26 2011/07/22 12:55:02 kristaps Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -309,14 +309,18 @@ eqn_box(struct eqn_node *ep, struct eqn_box *last)
return(EQN_ERR);
}
left = mandoc_strndup(start, sz);
- if (EQN_DESCOPE != (c = eqn_eqn(ep, last)))
+ c = eqn_eqn(ep, last);
+ if (last->last)
+ last->last->left = left;
+ else
+ free(left);
+ if (EQN_DESCOPE != c)
return(c);
assert(last->last);
- last->last->left = left;
eqn_rewind(ep);
start = eqn_nexttok(ep, &sz);
assert(start);
- if (STRNEQ(start, sz, "right", 5))
+ if ( ! STRNEQ(start, sz, "right", 5))
return(EQN_DESCOPE);
if (NULL == (start = eqn_nexttok(ep, &sz))) {
EQN_MSG(MANDOCERR_EQNEOF, ep);