Rust: add func "kernaux_itoa10"

This commit is contained in:
Alex Kotov 2022-01-23 23:01:54 +05:00
parent fa0523c024
commit caabdccdb9
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
1 changed files with 17 additions and 0 deletions

View File

@ -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");
}
}