diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-07-22 12:55:02 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-07-22 12:55:02 +0000 |
commit | 71208ad88584e6d12dd19bf89bb7acb9c9e24496 (patch) | |
tree | 635017bef0314d115432084bdff67a1d6444544d /eqn.c | |
parent | 6d8d387d78183a69812a1111b555a69f4211d319 (diff) | |
download | mandoc-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.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -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); |