pebble_skip/foundation/
logging.rs

1use crate::standard_c::{CStr, Storage};
2#[allow(clippy::wildcard_imports)]
3use pebble_sys::foundation::logging::*;
4
5pub fn log(
6	log_level: u8,
7	src_filename: &CStr<impl Storage>,
8	src_line_number: i32,
9	message: &CStr<impl Storage>,
10) {
11	//FIXME: make sure message doesn't contain any C format instructions.
12	unsafe {
13		app_log(
14			log_level,
15			src_filename.as_c_str(),
16			src_line_number,
17			message.as_c_str(),
18		)
19	}
20}
21
22#[macro_export]
23macro_rules! log {
24	($log_level:expr, $message:literal) => {
25		$crate::foundation::logging::log(
26			$log_level,
27			unsafe {
28				$crate::standard_c::CStr::from_static_zero_terminated_unchecked(concat!(
29					file!(),
30					"\0"
31				))
32				},
33			line!() as i32,
34			unsafe {
35				$crate::standard_c::CStr::from_static_zero_terminated_unchecked(concat!(
36					$message, "\0"
37				))
38				},
39			)
40	};
41}