From b0117b1d5ae73916c6f0d289be1f693bb5f46824 Mon Sep 17 00:00:00 2001 From: mbkma Date: Thu, 5 Mar 2020 13:06:45 +0100 Subject: Port to GNU MPFR/MPC Library For further information please visit: https://www.mpfr.org/ http://www.multiprecision.org/mpc --- src/parser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/parser.c') diff --git a/src/parser.c b/src/parser.c index b4f90fc..633bc2f 100644 --- a/src/parser.c +++ b/src/parser.c @@ -276,8 +276,9 @@ p_parse(ParserState* state) ans = (MPNumber *) (*(state->root->evaluate))(state->root); if(ans) { + state->ret = mp_new(); mp_set_from_mp(ans, &state->ret); - free(ans); + mp_free(ans); return PARSER_ERR_NONE; } return PARSER_ERR_INVALID; @@ -330,10 +331,11 @@ p_check_variable(ParserState* state, gchar* name) { return FALSE; } - + temp = mp_new(); /* If defined, then get the variable */ if((*(state->get_variable))(state, name, &temp)) { + mp_clear(&temp); return TRUE; } @@ -354,6 +356,7 @@ p_check_variable(ParserState* state, gchar* name) } free(buffer); } + mp_clear(&temp); if(!result) { return FALSE; -- cgit v1.2.1