diff options
| author | KyleMiles <krm504@nyu.edu> | 2024-01-16 15:34:55 -0500 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2024-01-19 15:45:24 -0500 |
| commit | e9b7c410bd50582d2a6ecd49cf02ea8f54ec1f1d (patch) | |
| tree | 78ad6272077d976a69ef76698d658991faf129d0 /rust/examples/dwarf/dwarf_import/src/helpers.rs | |
| parent | fb0fcd199680032932784b07b074738999779d58 (diff) | |
DWARF Import : Remove a bunch of CString overhead
Diffstat (limited to 'rust/examples/dwarf/dwarf_import/src/helpers.rs')
| -rw-r--r-- | rust/examples/dwarf/dwarf_import/src/helpers.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/rust/examples/dwarf/dwarf_import/src/helpers.rs b/rust/examples/dwarf/dwarf_import/src/helpers.rs index da1f0d29..4788df76 100644 --- a/rust/examples/dwarf/dwarf_import/src/helpers.rs +++ b/rust/examples/dwarf/dwarf_import/src/helpers.rs @@ -21,7 +21,6 @@ use gimli::{ }; use log::warn; -use std::ffi::CString; pub(crate) fn get_uid<R: Reader<Offset = usize>>( unit: &Unit<R>, @@ -112,7 +111,7 @@ pub(crate) fn get_name<R: Reader<Offset = usize>>( unit: &Unit<R>, entry: &DebuggingInformationEntry<R>, debug_info_builder_context: &DebugInfoBuilderContext<R>, -) -> Option<CString> { +) -> Option<String> { match resolve_specification(unit, entry, debug_info_builder_context) { DieReference::UnitAndOffset((entry_unit, entry_offset)) => { if let Ok(Some(attr_val)) = entry_unit @@ -125,7 +124,7 @@ pub(crate) fn get_name<R: Reader<Offset = usize>>( .attr_string(entry_unit, attr_val) { if let Ok(attr_string) = attr_string.to_string() { - return Some(CString::new(attr_string.to_string()).unwrap()); + return Some(attr_string.to_string()); } } } @@ -133,7 +132,7 @@ pub(crate) fn get_name<R: Reader<Offset = usize>>( // if let Some(raw_name) = get_raw_name(unit, entry, debug_info_builder_context) { // if let Some(arch) = debug_info_builder_context.default_architecture() { // if let Ok((_, names)) = demangle_gnu3(&arch, raw_name, true) { - // return Some(CString::new(names.join("::")).unwrap()); + // return Some(names.join("::")); // } // } // } @@ -148,14 +147,14 @@ pub(crate) fn get_raw_name<R: Reader<Offset = usize>>( unit: &Unit<R>, entry: &DebuggingInformationEntry<R>, debug_info_builder_context: &DebugInfoBuilderContext<R>, -) -> Option<CString> { +) -> Option<String> { if let Ok(Some(attr_val)) = entry.attr_value(constants::DW_AT_linkage_name) { if let Ok(attr_string) = debug_info_builder_context .dwarf() .attr_string(unit, attr_val) { if let Ok(attr_string) = attr_string.to_string() { - return Some(CString::new(attr_string.to_string()).unwrap()); + return Some(attr_string.to_string()); } } } |
