mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Fixed multimap support
This commit is contained in:
parent
d2d48302de
commit
2fdb6ddff6
2 changed files with 18 additions and 9 deletions
|
@ -119,17 +119,18 @@ public:
|
|||
{
|
||||
int_cosize hashCode = (int_cosize)BeefHash<TKey>()(key) & 0x7FFFFFFF;
|
||||
|
||||
while ((uintptr)mIdx < (uintptr)mDictionary->mCount)
|
||||
{
|
||||
if (mDictionary->mEntries[mIdx].mHashCode < 0)
|
||||
while (mCurrentIdx >= 0)
|
||||
{
|
||||
mCurrentIdx = mDictionary->mEntries[mCurrentIdx].mNext;
|
||||
if (mCurrentIdx < 0)
|
||||
break;
|
||||
|
||||
mCurrentIdx = mIdx;
|
||||
mIdx++;
|
||||
|
||||
if ((mDictionary->mEntries[mCurrentIdx].mHashCode == hashCode) &&
|
||||
(mDictionary->mEntries[mCurrentIdx].mKey == key))
|
||||
((*(TKey*)&mDictionary->mEntries[mCurrentIdx].mKey) == key))
|
||||
{
|
||||
mIdx = mCurrentIdx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
mIdx = mDictionary->mCount + 1;
|
||||
|
|
|
@ -853,8 +853,16 @@ void WinDebugger::ValidateBreakpoints()
|
|||
usedBreakpoints.Add(breakpoint->mAddr);
|
||||
|
||||
WdBreakpoint* foundBreakpoint = NULL;
|
||||
mBreakpointAddrMap.TryGetValue(breakpoint->mAddr, &foundBreakpoint);
|
||||
BF_ASSERT(breakpoint == foundBreakpoint);
|
||||
auto itr = mBreakpointAddrMap.Find(breakpoint->mAddr);
|
||||
bool found = false;
|
||||
while (itr != mBreakpointAddrMap.end())
|
||||
{
|
||||
WdBreakpoint* foundBreakpoint = itr->mValue;
|
||||
found |= foundBreakpoint == breakpoint;
|
||||
itr.NextWithSameKey(breakpoint->mAddr);
|
||||
}
|
||||
|
||||
BF_ASSERT(found);
|
||||
}
|
||||
|
||||
auto checkSibling = (WdBreakpoint*)breakpoint->mLinkedSibling;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue