summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Brown <jed@jedbrown.org>2020-08-06 22:57:08 -0600
committerJed Brown <jed@jedbrown.org>2020-08-19 19:08:00 -0600
commit3f9f49aacd32fd9c0549cfc976e786b25ff3e6dd (patch)
tree0fa0474cec89ed3e0035ad11daceaaaa1edb6ae2
parentc9ff3e9b4e49b1a1c8482fc409177615dce6b84c (diff)
downloadrust-libc-3f9f49aacd32fd9c0549cfc976e786b25ff3e6dd.tar.gz
add fmemopen, open_memstream, and open_wmemstream for POSIX.1-2008
Skip test on aarch64 due to https://github.com/rust-lang/libc/issues/1765
-rwxr-xr-x[-rw-r--r--]libc-test/build.rs3
-rw-r--r--src/unix/mod.rs13
2 files changed, 15 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index ff5efb82b1..8c538fb5dc 100644..100755
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -1592,7 +1592,8 @@ fn test_android(target: &str) {
// https://github.com/rust-lang/libc/issues/1765
"lockf" | "preadv64" | "pwritev64" | "openpty" | "forkpty"
| "login_tty" | "getifaddrs" | "freeifaddrs" | "sethostname"
- | "getgrgid_r" | "getgrnam_r" | "sigtimedwait"
+ | "getgrgid_r" | "getgrnam_r" | "sigtimedwait" | "fmemopen"
+ | "open_memstream" | "open_wmemstream"
if aarch64 =>
{
true
diff --git a/src/unix/mod.rs b/src/unix/mod.rs
index 7804f3e7bf..e8d9108698 100644
--- a/src/unix/mod.rs
+++ b/src/unix/mod.rs
@@ -419,6 +419,19 @@ extern "C" {
mode: *const c_char,
file: *mut FILE,
) -> *mut FILE;
+ pub fn fmemopen(
+ buf: *mut c_void,
+ size: size_t,
+ mode: *const c_char,
+ ) -> *mut FILE;
+ pub fn open_memstream(
+ ptr: *mut *mut c_char,
+ sizeloc: *mut size_t,
+ ) -> *mut FILE;
+ pub fn open_wmemstream(
+ ptr: *mut *mut wchar_t,
+ sizeloc: *mut size_t,
+ ) -> *mut FILE;
pub fn fflush(file: *mut FILE) -> c_int;
pub fn fclose(file: *mut FILE) -> c_int;
pub fn remove(filename: *const c_char) -> c_int;