From e9b7c410bd50582d2a6ecd49cf02ea8f54ec1f1d Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Tue, 16 Jan 2024 15:34:55 -0500 Subject: DWARF Import : Remove a bunch of CString overhead --- rust/examples/dwarf/dwarf_import/src/helpers.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'rust/examples/dwarf/dwarf_import/src/helpers.rs') 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>( unit: &Unit, @@ -112,7 +111,7 @@ pub(crate) fn get_name>( unit: &Unit, entry: &DebuggingInformationEntry, debug_info_builder_context: &DebugInfoBuilderContext, -) -> Option { +) -> Option { 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>( .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>( // 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>( unit: &Unit, entry: &DebuggingInformationEntry, debug_info_builder_context: &DebugInfoBuilderContext, -) -> Option { +) -> Option { 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()); } } } -- cgit v1.3.1