diff --git a/src/header/stdlib/mod.rs b/src/header/stdlib/mod.rs index 9a290a9ed33d87903c97094039c34e0a6449fa3c..b8d3fd53fe060a763d62341dcb434d59e5baaaa7 100644 --- a/src/header/stdlib/mod.rs +++ b/src/header/stdlib/mod.rs @@ -670,6 +670,18 @@ fn get_nstime() -> u64 { } } +#[no_mangle] +pub unsafe extern "C" fn mkdtemp(name: *mut c_char) -> *mut c_char { + inner_mktemp(name, 0, || { + let name_c = CStr::from_ptr(name); + match Sys::mkdir(name_c, 0o700) { + Ok(()) => Some(name), + Err(_) => None, + } + }) + .unwrap_or(ptr::null_mut()) +} + #[no_mangle] pub unsafe extern "C" fn mkostemps( name: *mut c_char,