From 0ece8f19abf4dba1d3c568aca60d2c960d75efa6 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 10 Dec 2013 15:00:52 +0000 Subject: loading and unloading of languages in the C runtime and in the Python bindings --- src/runtime/c/pgf/parseval.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/runtime/c/pgf/parseval.c') diff --git a/src/runtime/c/pgf/parseval.c b/src/runtime/c/pgf/parseval.c index c96eac56a..0090a5942 100644 --- a/src/runtime/c/pgf/parseval.c +++ b/src/runtime/c/pgf/parseval.c @@ -171,8 +171,15 @@ pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat, { GuPool* pool = gu_new_pool(); + GuExn* err = gu_new_exn(NULL, gu_kind(type), pool); + GuEnum* en_lins1 = - pgf_lzr_concretize(concr, expr, pool); + pgf_lzr_concretize(concr, expr, err, pool); + if (!gu_ok(err)) { + gu_pool_free(pool); + return false; + } + PgfCncTree ctree1 = gu_next(en_lins1, PgfCncTree, pool); if (gu_variant_is_null(ctree1)) { gu_pool_free(pool); @@ -213,7 +220,7 @@ pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat, } GuEnum* en_lins2 = - pgf_lzr_concretize(concr, ep->expr, pool); + pgf_lzr_concretize(concr, ep->expr, err, pool); PgfCncTree ctree2 = gu_next(en_lins2, PgfCncTree, pool); if (gu_variant_is_null(ctree2)) { gu_pool_free(pool); -- cgit v1.2.3