From 909fa209cb60fff5d6f72e5826eae13e6eca96de Mon Sep 17 00:00:00 2001 From: Brian Demsky Date: Wed, 8 Apr 2020 17:38:29 -0700 Subject: [PATCH] Fix mistakes in refactoring --- actionlist.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/actionlist.cc b/actionlist.cc index 68345986..9f95384d 100644 --- a/actionlist.cc +++ b/actionlist.cc @@ -174,15 +174,16 @@ void actionlist::removeAction(ModelAction * act) { int shiftbits = MODELCLOCKBITS; modelclock_t clock = act->get_seq_number(); allnode * ptr = &root; + allnode * oldptr; modelclock_t currindex; while(shiftbits != 0) { shiftbits -= ALLBITS; currindex = (clock >> shiftbits) & ALLMASK; - allnode * tmp = ptr->children[currindex]; - if (tmp == NULL) + oldptr = ptr; + ptr = ptr->children[currindex]; + if (ptr == NULL) return; - ptr = tmp; } sllnode * llnode = reinterpret_cast *>(((uintptr_t) ptr) & ACTMASK); @@ -205,11 +206,11 @@ void actionlist::removeAction(ModelAction * act) { if (first) { //see if previous node has same clock as us... if (llnodeprev != NULL && llnodeprev->val->get_seq_number() == clock) { - ptr->children[currindex] = reinterpret_cast(((uintptr_t)llnodeprev) | ISACT); + oldptr->children[currindex] = reinterpret_cast(((uintptr_t)llnodeprev) | ISACT); } else { //remove ourselves and go up tree - ptr->children[currindex] = NULL; - decrementCount(ptr); + oldptr->children[currindex] = NULL; + decrementCount(oldptr); } } delete llnode; -- 2.34.1