summaryrefslogtreecommitdiff
path: root/view/bintxt/src/ihex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'view/bintxt/src/ihex.rs')
-rw-r--r--view/bintxt/src/ihex.rs23
1 files changed, 12 insertions, 11 deletions
diff --git a/view/bintxt/src/ihex.rs b/view/bintxt/src/ihex.rs
index bb694941..b1cbfb80 100644
--- a/view/bintxt/src/ihex.rs
+++ b/view/bintxt/src/ihex.rs
@@ -1,15 +1,15 @@
-use binaryninja::binaryview::*;
-use binaryninja::custombinaryview::*;
-use binaryninja::rc::Ref;
-use binaryninja::segment::SegmentBuilder;
-use ihex::Record;
-use binaryninja::platform::Platform;
-use binaryninja::settings::Settings;
use crate::segment_after_address;
use crate::segment_from_address;
use crate::sort_and_merge_segments;
use crate::MergedSegment;
use crate::UnmergedSegment;
+use binaryninja::binary_view::*;
+use binaryninja::custom_binary_view::*;
+use binaryninja::platform::Platform;
+use binaryninja::rc::Ref;
+use binaryninja::segment::SegmentBuilder;
+use binaryninja::settings::{QueryOptions, Settings};
+use ihex::Record;
fn parse_ihex(string: &str) -> Result<(Vec<u8>, IHexViewData)> {
let mut reader = ihex::Reader::new(&string);
@@ -101,7 +101,7 @@ impl CustomBinaryViewType for IHexViewConstructor {
parent: &BinaryView,
builder: CustomViewBuilder<'builder, Self>,
) -> Result<CustomView<'builder>> {
- let bytes = parent.len();
+ let bytes = parent.len() as usize;
let mut buf = vec![0; bytes];
let bytes_read = parent.read(&mut buf, 0);
if bytes_read != bytes {
@@ -216,15 +216,16 @@ unsafe impl CustomBinaryView for IHexView {
.contains_code(true),
);
}
-
+
// TODO: Because we detached from the raw view this setting will never be set.
+ let mut settings_query_opts = QueryOptions::new_with_view(&self.core);
let _ = self.core.load_settings(self.type_name()).map(|s| {
- let platform_name = s.get_string("loader.platform", Some(&self.core), None);
+ let platform_name = s.get_string_with_opts("loader.platform", &mut settings_query_opts);
if let Some(platform) = Platform::by_name(platform_name) {
self.set_default_platform(&platform);
}
});
-
+
Ok(())
}
}