use sdk_raw::net::incoming::{RespondCvarValueFields, SMALLEST_MESSAGE_BASE};
use sdk_raw::test_support::net::mock_message;
use sdk_raw::util::cstr::buffer_from_cstr;
use std::ffi::{CStr, c_int};
use std::ptr::{NonNull, null_mut};
pub fn respond_cvar_value(
cookie: c_int,
status: c_int,
name: &CStr,
value: &CStr,
) -> NonNull<sys::INetMessage> {
let message = mock_message(SMALLEST_MESSAGE_BASE + size_of::<RespondCvarValueFields>());
let fields = message
.as_ptr()
.wrapping_byte_add(SMALLEST_MESSAGE_BASE)
.cast::<RespondCvarValueFields>();
unsafe {
fields.write(RespondCvarValueFields {
handler: null_mut(),
cookie,
name: (&raw const (*fields).name_buffer).cast(),
value: (&raw const (*fields).value_buffer).cast(),
status,
name_buffer: buffer_from_cstr(name).expect("the name fits"),
value_buffer: buffer_from_cstr(value).expect("the value fits"),
});
}
message
}
pub fn unreadable() -> NonNull<sys::INetMessage> {
mock_message(SMALLEST_MESSAGE_BASE)
}