diff options
| author | Mason Reed <mason@vector35.com> | 2025-05-10 21:56:06 -0400 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2025-05-12 17:45:24 -0400 |
| commit | d23808b24efdda0e510bb70f8c6ece41e9b4347b (patch) | |
| tree | 9b13de9c03926e947be509884293829b6b95807b | |
| parent | 7ddeeccc4ae262b2f7cba8dfd1207d15b91d907c (diff) | |
[Rust] Misc cleanup
| -rw-r--r-- | rust/src/logger.rs | 19 | ||||
| -rw-r--r-- | rust/tests/collaboration.rs | 7 |
2 files changed, 7 insertions, 19 deletions
diff --git a/rust/src/logger.rs b/rust/src/logger.rs index ad6bd9d1..2735dd2f 100644 --- a/rust/src/logger.rs +++ b/rust/src/logger.rs @@ -35,10 +35,10 @@ use binaryninjacore_sys::{ }; use crate::rc::{Ref, RefCountable}; -use crate::string::{BnString, IntoCStr}; +use crate::string::{raw_to_string, BnString, IntoCStr}; use log; use log::LevelFilter; -use std::ffi::{CStr, CString}; +use std::ffi::CString; use std::os::raw::{c_char, c_void}; use std::ptr::NonNull; @@ -138,7 +138,6 @@ impl log::Log for Ref<Logger> { }; if let Ok(msg) = CString::new(format!("{}", record.args())) { - let percent_s = CString::new("%s").expect("'%s' has no null bytes"); let logger_name = self.name().to_cstr(); unsafe { BNLog( @@ -146,7 +145,7 @@ impl log::Log for Ref<Logger> { level, logger_name.as_ptr(), 0, - percent_s.as_ptr(), + c"%s".as_ptr(), msg.as_ptr(), ); } @@ -160,7 +159,7 @@ unsafe impl Send for Logger {} unsafe impl Sync for Logger {} pub trait LogListener: 'static + Sync { - fn log(&self, session: usize, level: Level, msg: &CStr, logger_name: &CStr, tid: usize); + fn log(&self, session: usize, level: Level, msg: &str, logger_name: &str, tid: usize); fn level(&self) -> Level; fn close(&self) {} } @@ -220,13 +219,9 @@ extern "C" fn cb_log<L>( { ffi_wrap!("LogListener::log", unsafe { let listener = &*(ctxt as *const L); - listener.log( - session, - level, - CStr::from_ptr(msg), - CStr::from_ptr(logger_name), - tid, - ); + let msg_str = raw_to_string(msg).unwrap(); + let logger_name_str = raw_to_string(logger_name).unwrap(); + listener.log(session, level, &msg_str, &logger_name_str, tid); }) } diff --git a/rust/tests/collaboration.rs b/rust/tests/collaboration.rs index 3526a6f8..85f8702e 100644 --- a/rust/tests/collaboration.rs +++ b/rust/tests/collaboration.rs @@ -20,13 +20,6 @@ fn temp_project_scope<T: Fn(&RemoteProject)>(remote: &Remote, project_name: &str // TODO: have connected by the time this errors out. Maybe? let _ = remote.connect(); } - - if let Ok(home_dir) = env::var("HOME").or_else(|_| env::var("USERPROFILE")) { - eprintln!("Current user directory: {}", home_dir); - } else { - eprintln!("Unable to determine the current user directory."); - } - let project = remote .create_project(project_name, "Test project for test purposes") .expect("Failed to create project"); |
