ksys/act: Fix matching issue in BaseProcMapNode::erase_

Fixed by adding an inline function, as usual...
This commit is contained in:
Léo Lam 2020-09-25 21:40:25 +02:00
parent 53f375b0ec
commit cb1b70bb03
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 10 additions and 8 deletions

View File

@ -89499,7 +89499,7 @@
0x00000071011bb794,ActorBase::prePushJob2,4,_ZN4ksys3act8BaseProc11onJobPush2_ENS0_7JobTypeE
0x00000071011bb798,j__ZdlPv_1210,4,
0x00000071011bb79c,StringMapNode::dtorDelete,4,_ZN4ksys3act15BaseProcMapNodeD0Ev
0x00000071011bb7a0,StringMapNode::erase,52,_ZN4ksys3act15BaseProcMapNode6erase_Ev?
0x00000071011bb7a0,StringMapNode::erase,52,_ZN4ksys3act15BaseProcMapNode6erase_Ev
0x00000071011bb7d4,sub_71011BB7D4,20,_ZN4ksys4util14StrTreeMapNodeD2Ev
0x00000071011bb7e8,j__ZdlPv_1212,4,_ZN4ksys4util14StrTreeMapNodeD0Ev
0x00000071011bb7ec,sub_71011BB7EC,8,_ZN4ksys4util14StrTreeMapNode6erase_Ev

Can't render this file because it is too large.

View File

@ -11,14 +11,8 @@ public:
explicit BaseProcMapNode(BaseProc* proc) : mProc(proc) {}
~BaseProcMapNode() override;
// NON_MATCHING: addressing mode for mPrev
void erase_() override {
if (mPrev)
mPrev->mNext = mNext;
if (mNext)
mNext->mPrev = mPrev;
unlink_();
StrTreeMapNode::erase_();
mInserted = false;
mPrev = mNext = nullptr;
@ -36,6 +30,14 @@ public:
void setInserted() { mInserted = true; }
private:
void unlink_() {
if (mPrev)
mPrev->mNext = mNext;
if (mNext)
mNext->mPrev = mPrev;
}
BaseProc* mProc = nullptr;
BaseProcMapNode* mPrev = nullptr;
BaseProcMapNode* mNext = nullptr;