Skip to content

Commit 8807580

Browse files
committed
Remove duplicate $ splitting code
1 parent 5b8009e commit 8807580

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

objdiff-core/src/diff/data.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pub fn diff_bss_symbol(
3535
))
3636
}
3737

38-
fn symbol_name_matches(left_name: &str, right_name: &str) -> bool {
38+
pub fn symbol_name_matches(left_name: &str, right_name: &str) -> bool {
3939
// Match Metrowerks symbol$1234 against symbol$2345
4040
if let Some((prefix, suffix)) = left_name.split_once('$') {
4141
if !suffix.chars().all(char::is_numeric) {

objdiff-core/src/diff/mod.rs

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::{
1313
code::{diff_code, no_diff_code},
1414
data::{
1515
diff_bss_section, diff_bss_symbol, diff_data_section, diff_data_symbol,
16-
diff_generic_section, no_diff_bss_section, no_diff_data_section,
16+
diff_generic_section, no_diff_bss_section, no_diff_data_section, symbol_name_matches,
1717
},
1818
},
1919
obj::{InstructionRef, Object, Relocation, SectionKind, Symbol, SymbolFlag},
@@ -753,23 +753,12 @@ fn find_symbol(
753753
return Some(symbol_idx);
754754
}
755755

756-
// Match Metrowerks symbol$1234 against symbol$2345
757-
if let Some((prefix, suffix)) = in_symbol.name.split_once('$') {
758-
if !suffix.chars().all(char::is_numeric) {
759-
return None;
760-
}
761-
if let Some((symbol_idx, _)) = unmatched_symbols(obj, used).find(|&(_, symbol)| {
762-
if let Some((p, s)) = symbol.name.split_once('$') {
763-
prefix == p
764-
&& s.chars().all(char::is_numeric)
765-
&& symbol_section_kind(obj, symbol) == section_kind
766-
&& symbol_section_name(obj, symbol) == Some(section_name)
767-
} else {
768-
false
769-
}
770-
}) {
771-
return Some(symbol_idx);
772-
}
756+
if let Some((symbol_idx, _)) = unmatched_symbols(obj, used).find(|&(_, symbol)| {
757+
symbol_name_matches(&in_symbol.name, &symbol.name)
758+
&& symbol_section_kind(obj, symbol) == section_kind
759+
&& symbol_section_name(obj, symbol) == Some(section_name)
760+
}) {
761+
return Some(symbol_idx);
773762
}
774763

775764
None

0 commit comments

Comments
 (0)