From 8ac763cebab03fa32b919a8d4e7454a70d389250 Mon Sep 17 00:00:00 2001 From: llama Date: Sun, 2 Nov 2025 18:31:01 +0800 Subject: [PATCH] remove CString unwraps no idea why windows needs an explicit decl, possible compiler bug? --- qt/launcher/src/platform/nix.rs | 2 +- qt/launcher/src/platform/windows.rs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/qt/launcher/src/platform/nix.rs b/qt/launcher/src/platform/nix.rs index 55f6f5f6c..8dd848999 100644 --- a/qt/launcher/src/platform/nix.rs +++ b/qt/launcher/src/platform/nix.rs @@ -36,7 +36,7 @@ macro_rules! load_sym { macro_rules! ffi { ($lib:expr, $exec:expr, $($field:ident),* $(,)?) => { #[allow(clippy::missing_transmute_annotations)] // they're not missing - PyFfi { exec: $exec, $($field: load_sym!($lib, ::std::ffi::CString::new(stringify!($field)).unwrap()),)* lib: $lib, } + PyFfi { exec: $exec, $($field: load_sym!($lib, ::std::ffi::CString::new(stringify!($field)).map_err(|_| anyhow::anyhow!("failed to construct symbol CString"))?),)* lib: $lib, } }; } diff --git a/qt/launcher/src/platform/windows.rs b/qt/launcher/src/platform/windows.rs index 9cdf247b7..ca93b29f3 100644 --- a/qt/launcher/src/platform/windows.rs +++ b/qt/launcher/src/platform/windows.rs @@ -297,7 +297,10 @@ macro_rules! load_sym { macro_rules! ffi { ($lib:expr, $exec:expr, $($field:ident),* $(,)?) => { #[allow(clippy::missing_transmute_annotations)] // they're not missing - PyFfi { exec: $exec, $($field: load_sym!($lib, ::std::ffi::CString::new(stringify!($field)).unwrap()),)* lib: $lib.0, } + PyFfi { exec: $exec, $($field: { + let sym = ::std::ffi::CString::new(stringify!($field)).map_err(|_| anyhow::anyhow!("failed to construct symbol CString"))?; + load_sym!($lib, sym) + },)* lib: $lib.0, } }; }