Add asprintf

This commit is contained in:
Jeremy Soller
2018-12-09 12:45:04 -07:00
parent 63b079c231
commit ee40035c4b
5 changed files with 65 additions and 0 deletions
+8
View File
@@ -920,6 +920,14 @@ pub unsafe extern "C" fn vprintf(format: *const c_char, ap: va_list) -> c_int {
vfprintf(&mut *stdout, format, ap)
}
#[no_mangle]
pub unsafe extern "C" fn vasprintf(strp: *mut *mut c_char, format: *const c_char, ap: va_list) -> c_int {
let mut alloc_writer = platform::AllocStringWriter(ptr::null_mut(), 0);
let ret = printf::printf(&mut alloc_writer, format, ap);
*strp = alloc_writer.0 as *mut c_char;
ret
}
#[no_mangle]
pub unsafe extern "C" fn vsnprintf(
s: *mut c_char,