From caabdccdb938557d2dcad6fd334e70ea978c6109 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sun, 23 Jan 2022 23:01:54 +0500 Subject: [PATCH] Rust: add func "kernaux_itoa10" --- pkgs/rust/src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/rust/src/lib.rs b/pkgs/rust/src/lib.rs index 8ffe5c5..42c00f0 100644 --- a/pkgs/rust/src/lib.rs +++ b/pkgs/rust/src/lib.rs @@ -5,6 +5,8 @@ use libc::c_char; extern "C" { #[cfg(test)] fn kernaux_utoa10(value: u64, buffer: *mut c_char); + #[cfg(test)] + fn kernaux_itoa10(value: i64, buffer: *mut c_char); } #[cfg(test)] @@ -21,4 +23,19 @@ mod tests { unsafe { CStr::from_ptr(buffer.as_ptr()) }.to_str().unwrap(); assert_eq!(result, "123"); } + + #[test] + fn itoa10() { + let mut buffer: [i8; 1000] = [0; 1000]; + unsafe { kernaux_itoa10(123, buffer.as_mut_ptr()) }; + let result = + unsafe { CStr::from_ptr(buffer.as_ptr()) }.to_str().unwrap(); + assert_eq!(result, "123"); + + let mut buffer: [i8; 1000] = [0; 1000]; + unsafe { kernaux_itoa10(-123, buffer.as_mut_ptr()) }; + let result = + unsafe { CStr::from_ptr(buffer.as_ptr()) }.to_str().unwrap(); + assert_eq!(result, "-123"); + } }