blob: 09885ce839d0f77a2a4da2fd00f7674d32451e57 [file] [log] [blame]
//@ignore-target: windows # Supported only on unixes
fn main() {
unsafe {
let mut buf = vec![0u8; 32];
assert_eq!(libc::strerror_r(libc::EPERM, buf.as_mut_ptr().cast(), buf.len()), 0);
let mut buf2 = vec![0u8; 64];
assert_eq!(libc::strerror_r(-1i32, buf2.as_mut_ptr().cast(), buf2.len()), 0);
// This buffer is deliberately too small so this triggers ERANGE.
let mut buf3 = vec![0u8; 2];
assert_eq!(
libc::strerror_r(libc::E2BIG, buf3.as_mut_ptr().cast(), buf3.len()),
libc::ERANGE
);
}
}