mirror of
https://github.com/gopher64/gopher64.git
synced 2026-07-11 01:25:20 +02:00
store C strings in vars (#747)
This commit is contained in:
@@ -293,22 +293,18 @@ pub fn get_hardcore() -> bool {
|
||||
pub fn login_user(username: String, password: String, tx: tokio::sync::oneshot::Sender<bool>) {
|
||||
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<bool>) {
|
||||
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)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+6
-11
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user