Mercurial > ~dholland > hg > tradcpp > index.cgi
diff macro.c @ 192:255db24bc29b
Fix output corruption; see CHANGES entry.
author | David A. Holland |
---|---|
date | Fri, 12 Jun 2015 21:54:32 -0400 (2015-06-13) |
parents | c8d4ab9aeff0 |
children | 1d2bad7151f9 |
line wrap: on
line diff
--- a/macro.c Fri Jun 12 20:06:55 2015 -0400 +++ b/macro.c Fri Jun 12 21:54:32 2015 -0400 @@ -892,8 +892,9 @@ return; } - assert(es->curmacro->inuse == false); - es->curmacro->inuse = true; + m = es->curmacro; + assert(m->inuse == false); + m->inuse = true; newbuf = expand_substitute(p, es); newbuf2 = macroexpand(p, newbuf, strlen(newbuf), false); @@ -902,7 +903,7 @@ doexpand(es, p, newbuf2, strlen(newbuf2)); dostrfree(newbuf2); - es->curmacro->inuse = false; + m->inuse = false; } /* @@ -970,7 +971,6 @@ } else if (!m->hasparams) { es->curmacro = m; expand_domacro(es, p); - es->curmacro = NULL; } else { es->curmacro = m; es->state = ES_WANTLPAREN;