diff --git a/python_rpnexpr.c b/python_rpnexpr.c index 804cb44..9845605 100644 --- a/python_rpnexpr.c +++ b/python_rpnexpr.c @@ -393,6 +393,7 @@ args buffer : %s", toks.tokens[i].op = &(rpn_ops[toks.tokens[i].op_n]); } + expr_self->rpn->toks = toks; if(rpn_expr_untokenize(expr_self->rpn, &toks, 0) < 0) { diff --git a/rpn_jit.c b/rpn_jit.c index 50b18e3..bc0d73c 100644 --- a/rpn_jit.c +++ b/rpn_jit.c @@ -162,20 +162,6 @@ int rpn_expr_untokenize(rpn_expr_t *expr, rpn_tokenized_t *tokens, char long_op) return -1; } - expr->toks.tokens = malloc(sizeof(rpn_token_t)*tokens->tokens_sz); - if(!expr->toks.tokens) - { - snprintf(expr->err_reason, 128, - "Unable to allocate memory for tokens : %s", - strerror(errno)); - expr->state = RPN_ERROR; - return -1; - } - memcpy(expr->toks.tokens, tokens->tokens, - sizeof(rpn_token_t)*tokens->tokens_sz); - expr->toks.tokens_sz = tokens->tokens_sz; - expr->toks.argc = tokens->argc; - expr->state = RPN_READY; return 0;