From 9d91b31377c1c8a63a0babefd10f79b1a2deb974 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Wed, 26 Apr 2023 05:29:29 -0400 Subject: Fix id=0 bug in Unmatch --- lib/evaluator.tcl | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'lib') diff --git a/lib/evaluator.tcl b/lib/evaluator.tcl index 2e4c2e30..d41b9e94 100644 --- a/lib/evaluator.tcl +++ b/lib/evaluator.tcl @@ -949,18 +949,16 @@ namespace eval Evaluator { for (int i = 0; i < level; i++) { match_t* unmatch = matchGet(unmatchId); // Get first parent of unmatchId (should be the When) - statement_handle_t unmatchWhenId = {0}; for (int j = 0; j < unmatch->n_edges; j++) { if (unmatch->edges[j].type == PARENT) { - unmatchWhenId = unmatch->edges[j].statement; - break; - } - } - if (unmatchWhenId.idx == 0) { exit(3); } - statement_t* unmatchWhen = get(unmatchWhenId); - for (int j = 0; j < unmatchWhen->n_edges; j++) { - if (unmatchWhen->edges[j].type == PARENT) { - unmatchId = unmatchWhen->edges[j].match; + statement_handle_t unmatchWhenId = unmatch->edges[j].statement; + statement_t* unmatchWhen = get(unmatchWhenId); + for (int k = 0; k < unmatchWhen->n_edges; k++) { + if (unmatchWhen->edges[k].type == PARENT) { + unmatchId = unmatchWhen->edges[k].match; + break; + } + } break; } } -- cgit v1.2.3