Small BpEnumAll optimization
This commit is contained in:
parent
94ec4a822f
commit
003babb4bb
|
@ -85,6 +85,7 @@ void BookmarkDelRange(uint Start, uint End)
|
|||
continue;
|
||||
}
|
||||
|
||||
// [Start, End)
|
||||
if(itr->second.addr >= Start && itr->second.addr < End)
|
||||
itr = bookmarks.erase(itr);
|
||||
else
|
||||
|
@ -103,15 +104,15 @@ void BookmarkCacheSave(JSON Root)
|
|||
// Save to the JSON root
|
||||
for(auto & itr : bookmarks)
|
||||
{
|
||||
JSON curjsonbookmark = json_object();
|
||||
JSON currentBookmark = json_object();
|
||||
|
||||
json_object_set_new(curjsonbookmark, "module", json_string(itr.second.mod));
|
||||
json_object_set_new(curjsonbookmark, "address", json_hex(itr.second.addr));
|
||||
json_object_set_new(currentBookmark, "module", json_string(itr.second.mod));
|
||||
json_object_set_new(currentBookmark, "address", json_hex(itr.second.addr));
|
||||
|
||||
if(itr.second.manual)
|
||||
json_array_append_new(jsonBookmarks, curjsonbookmark);
|
||||
json_array_append_new(jsonBookmarks, currentBookmark);
|
||||
else
|
||||
json_array_append_new(jsonAutoBookmarks, curjsonbookmark);
|
||||
json_array_append_new(jsonAutoBookmarks, currentBookmark);
|
||||
}
|
||||
|
||||
if(json_array_size(jsonBookmarks))
|
||||
|
|
|
@ -101,7 +101,7 @@ bool BpGet(uint Address, BP_TYPE Type, const char* Name, BREAKPOINT* Bp)
|
|||
// Name is optional
|
||||
if(!Name || Name[0] == '\0')
|
||||
{
|
||||
// Perform a lookup by an address only
|
||||
// Perform a lookup by address only
|
||||
BREAKPOINT* bpInfo = BpInfoFromAddr(Type, Address);
|
||||
|
||||
if(!bpInfo)
|
||||
|
@ -221,17 +221,17 @@ bool BpEnumAll(BPENUMCALLBACK EnumCallback, const char* Module)
|
|||
|
||||
for(auto & i : breakpoints)
|
||||
{
|
||||
BREAKPOINT bpInfo = i.second;
|
||||
bpInfo.addr += ModBaseFromName(bpInfo.mod);
|
||||
bpInfo.active = memisvalidreadptr(fdProcessInfo->hProcess, bpInfo.addr);
|
||||
|
||||
// If a module name was sent, check it
|
||||
if(Module && Module[0] != '\0')
|
||||
{
|
||||
if(strcmp(bpInfo.mod, Module) != 0)
|
||||
if(strcmp(i.second.mod, Module) != 0)
|
||||
continue;
|
||||
}
|
||||
|
||||
BREAKPOINT bpInfo = i.second;
|
||||
bpInfo.addr += ModBaseFromName(bpInfo.mod);
|
||||
bpInfo.active = memisvalidreadptr(fdProcessInfo->hProcess, bpInfo.addr);
|
||||
|
||||
// Execute the callback
|
||||
if(!EnumCallback(&bpInfo))
|
||||
callbackStatus = false;
|
||||
|
|
Loading…
Reference in New Issue