mirror of
https://github.com/encounter/decomp-toolkit.git
synced 2025-12-12 14:46:17 +00:00
Validate splits don't overlap symbols (or each other)
Use DoubleEndedIterator::next_back instead of Iterator::last to avoid unnecessary iteration.
This commit is contained in:
@@ -80,7 +80,7 @@ impl FunctionSlices {
|
||||
|
||||
pub fn add_block_start(&mut self, addr: u32) -> bool {
|
||||
// Slice previous block.
|
||||
if let Some((_, end)) = self.blocks.range_mut(..addr).last() {
|
||||
if let Some((_, end)) = self.blocks.range_mut(..addr).next_back() {
|
||||
let last_end = *end;
|
||||
if last_end > addr {
|
||||
*end = addr;
|
||||
|
||||
@@ -376,7 +376,7 @@ impl Tracker {
|
||||
if self.ignore_addresses.contains(&addr) {
|
||||
return false;
|
||||
}
|
||||
if let Some((&start, &end)) = obj.blocked_ranges.range(..=from).last() {
|
||||
if let Some((&start, &end)) = obj.blocked_ranges.range(..=from).next_back() {
|
||||
if from >= start && from < end {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user