X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fexpressions%2Fparse.c;h=b841953b7ea5125e3308975dab36efbda6d6d928;hb=db5df54124af56dc1dfce71f839d78da2b49e346;hp=14dedfc998e8add71b4a65668b4d44dbf2a911a9;hpb=6eea9310493902d3b06b25c612c7ba89d467b6fa;p=pspp diff --git a/src/expressions/parse.c b/src/expressions/parse.c index 14dedfc998..b841953b7e 100644 --- a/src/expressions/parse.c +++ b/src/expressions/parse.c @@ -86,6 +86,19 @@ expr_parse (struct dictionary *dict, enum expr_type type) } } +/* Parses and returns an expression of the given TYPE, as + expr_parse(), and sets up so that destroying POOL will free + the expression as well. */ +struct expression * +expr_parse_pool (struct pool *pool, + struct dictionary *dict, enum expr_type type) +{ + struct expression *e = expr_parse (dict, type); + if (e != NULL) + pool_add_subpool (pool, e->expr_pool); + return e; +} + /* Free expression E. */ void expr_free (struct expression *e)