From c1fc50b7c39d0cbcb69acb4a062129a076ca4d40 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Sun, 5 Dec 2021 08:25:09 +0300 Subject: [PATCH] Avoid crash on unknown valueTags passed to handle_debug_val --- src/pads/debug.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pads/debug.rs b/src/pads/debug.rs index 878a475..705439a 100644 --- a/src/pads/debug.rs +++ b/src/pads/debug.rs @@ -1,14 +1,22 @@ use std::ffi::CStr; use auxtools::{sigscan, Value}; +use auxtools::raw_types::values::ValueData; #[no_mangle] pub extern "C" fn handle_debug(str: *mut i8) { log::debug!("dbg: {}", unsafe { CStr::from_ptr(str) }.to_str().unwrap()); } +#[repr(C)] +#[derive(Copy, Clone, Debug)] +pub struct ValueRaw { + tag: u8, + data: ValueData +} + #[no_mangle] -pub extern "C" fn handle_debug_val(val: auxtools::raw_types::values::Value) { - log::debug!("dbg: {:?}, {} -- {:?}", val.tag, unsafe { val.data.id }, val) +pub extern "C" fn handle_debug_val(val: ValueRaw) { + log::debug!("dbg: {:#X} {}", val.tag, unsafe { val.data.id }) } pub static mut DATUM_ARRAY_PTR : *mut *mut *mut u8 = std::ptr::null_mut();