diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-05-04 13:32:57 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-05-04 13:32:57 +0000 |
| commit | b8d61fcbb27b21e6793a0e253d34a714bfa0423c (patch) | |
| tree | 150e680a87d4b789ab6a71bf6fdec9511c8c927d /src/runtime/c | |
| parent | da577d15ef49d4b012a4b1748e71b95c6e3cc333 (diff) | |
bugfix in the C runtime which was causing an infinite loop while linearizing partial trees
Diffstat (limited to 'src/runtime/c')
| -rw-r--r-- | src/runtime/c/pgf/linearizer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/c/pgf/linearizer.c b/src/runtime/c/pgf/linearizer.c index 144ef5154..8a48bb4fe 100644 --- a/src/runtime/c/pgf/linearizer.c +++ b/src/runtime/c/pgf/linearizer.c @@ -327,6 +327,11 @@ pgf_lzn_resolve(PgfLzn* lzn, PgfExpr expr, PgfCCat* ccat, GuPool* pool) if (ccat == NULL) { size_t n_args = gu_buf_length(args); + int flag = gu_choice_next(lzn->ch, 1); + if (flag == 0) { + return gu_null_variant; + } + PgfCncTreeChunks* chunks = gu_new_flex_variant(PGF_CNC_TREE_CHUNKS, PgfCncTreeChunks, |
