Mercurial > hg > index.cgi
diff lwlib/lw_expr.c @ 200:348e2816ce32
Short ciruit some recursion in expression library
author | William Astle <lost@l-w.ca> |
---|---|
date | Fri, 16 Mar 2012 19:44:12 -0600 |
parents | db5690682eb7 |
children | 1f1a28b797e1 |
line wrap: on
line diff
--- a/lwlib/lw_expr.c Fri Mar 16 17:29:53 2012 -0600 +++ b/lwlib/lw_expr.c Fri Mar 16 19:44:12 2012 -0600 @@ -676,7 +676,8 @@ // simplify operands for (o = E -> operands; o; o = o -> next) - lw_expr_simplify_l(o -> p, priv); + if (o -> p -> type != lw_expr_type_int) + lw_expr_simplify_l(o -> p, priv); for (o = E -> operands; o; o = o -> next) { @@ -1070,6 +1071,8 @@ void lw_expr_simplify(lw_expr_t E, void *priv) { + if (E -> type == lw_expr_type_int) + return; lw_expr_simplify_l(E, priv); }