2019-08-21 07:35:04 +02:00
|
|
|
#![deny(clippy::temporary_cstring_as_ptr)]
|
|
|
|
|
2017-10-10 06:15:19 +02:00
|
|
|
fn main() {}
|
|
|
|
|
|
|
|
fn temporary_cstring() {
|
|
|
|
use std::ffi::CString;
|
|
|
|
|
|
|
|
CString::new("foo").unwrap().as_ptr();
|
2019-08-09 07:33:07 +02:00
|
|
|
CString::new("foo").expect("dummy").as_ptr();
|
2017-10-10 06:15:19 +02:00
|
|
|
}
|
2019-08-21 07:35:04 +02:00
|
|
|
|
|
|
|
mod issue4375 {
|
|
|
|
use std::ffi::CString;
|
|
|
|
use std::os::raw::c_char;
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
fn foo(data: *const c_char);
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn bar(v: &[u8]) {
|
|
|
|
let cstr = CString::new(v);
|
|
|
|
unsafe { foo(cstr.unwrap().as_ptr()) }
|
|
|
|
}
|
|
|
|
}
|