diff --git a/src/retroachievements.rs b/src/retroachievements.rs index e4923fc..a55cf1d 100644 --- a/src/retroachievements.rs +++ b/src/retroachievements.rs @@ -293,22 +293,18 @@ pub fn get_hardcore() -> bool { pub fn login_user(username: String, password: String, tx: tokio::sync::oneshot::Sender) { unsafe { let tx_ptr = Box::into_raw(Box::new(tx)) as *mut std::ffi::c_void; - ra_login_user( - std::ffi::CString::new(username).unwrap().as_ptr(), - std::ffi::CString::new(password).unwrap().as_ptr(), - tx_ptr, - ) + let c_username = std::ffi::CString::new(username).unwrap(); + let c_password = std::ffi::CString::new(password).unwrap(); + ra_login_user(c_username.as_ptr(), c_password.as_ptr(), tx_ptr) }; } pub fn login_token_user(username: String, token: String, tx: tokio::sync::oneshot::Sender) { unsafe { let tx_ptr = Box::into_raw(Box::new(tx)) as *mut std::ffi::c_void; - ra_login_token_user( - std::ffi::CString::new(username).unwrap().as_ptr(), - std::ffi::CString::new(token).unwrap().as_ptr(), - tx_ptr, - ) + let c_username = std::ffi::CString::new(username).unwrap(); + let c_token = std::ffi::CString::new(token).unwrap(); + ra_login_token_user(c_username.as_ptr(), c_token.as_ptr(), tx_ptr) }; } diff --git a/src/ui/video.rs b/src/ui/video.rs index 90c1fee..95074b7 100644 --- a/src/ui/video.rs +++ b/src/ui/video.rs @@ -57,9 +57,10 @@ pub fn init(device: &mut device::Device) { } unsafe { sdl3_sys::everything::SDL_HideCursor(); + let hint = std::ffi::CString::new("1").unwrap(); sdl3_sys::everything::SDL_SetHint( sdl3_sys::everything::SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, - std::ffi::CString::new("1").unwrap().as_ptr(), + hint.as_ptr(), ); } @@ -218,10 +219,8 @@ pub fn check_framebuffers(address: u32, length: u32) { pub fn onscreen_message(_ui: &ui::Ui, message: &str, long_message: bool) { unsafe { - rdp_onscreen_message( - std::ffi::CString::new(message).unwrap().as_ptr(), - long_message, - ) + let c_message = std::ffi::CString::new(message).unwrap(); + rdp_onscreen_message(c_message.as_ptr(), long_message) }; } @@ -235,12 +234,8 @@ pub fn draw_text( let (mut w, mut h) = (0, 0); sdl3_sys::render::SDL_GetRenderOutputSize(renderer, &mut w, &mut h); - let ttf_text = sdl3_ttf_sys::ttf::TTF_CreateText( - text_engine, - font, - std::ffi::CString::new(text).unwrap().as_ptr(), - 0, - ); + let c_text = std::ffi::CString::new(text).unwrap(); + let ttf_text = sdl3_ttf_sys::ttf::TTF_CreateText(text_engine, font, c_text.as_ptr(), 0); sdl3_sys::everything::SDL_RenderClear(renderer); sdl3_ttf_sys::ttf::TTF_DrawRendererText(ttf_text, 20.0, h as f32 / 2.0);