summaryrefslogtreecommitdiff
path: root/rust/examples/dwarf/dwarf_import/src/helpers.rs
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2024-01-16 15:34:55 -0500
committerKyleMiles <krm504@nyu.edu>2024-01-19 15:45:24 -0500
commite9b7c410bd50582d2a6ecd49cf02ea8f54ec1f1d (patch)
tree78ad6272077d976a69ef76698d658991faf129d0 /rust/examples/dwarf/dwarf_import/src/helpers.rs
parentfb0fcd199680032932784b07b074738999779d58 (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.rs11
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());
}
}
}