mirror of
https://github.com/rust-lang/rust.git
synced 2026-06-01 22:18:23 +03:00
Add calloc test
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
//ignore-windows: Uses POSIX APIs
|
||||
|
||||
#![feature(rustc_private)]
|
||||
|
||||
use core::slice;
|
||||
|
||||
extern crate libc;
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
let p1 = libc::calloc(0, 0);
|
||||
assert!(p1.is_null());
|
||||
|
||||
let p2 = libc::calloc(20, 0);
|
||||
assert!(p2.is_null());
|
||||
|
||||
let p3 = libc::calloc(0, 20);
|
||||
assert!(p3.is_null());
|
||||
|
||||
let p4 = libc::calloc(4, 8) as *const u8;
|
||||
assert!(!p4.is_null());
|
||||
|
||||
let slice = slice::from_raw_parts(p4, 4 * 8);
|
||||
assert_eq!(&slice, &[0_u8; 4 * 8]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user