diff options
author | Steve Lau <stevelauc@outlook.com> | 2022-10-12 08:28:22 +0800 |
---|---|---|
committer | Steve Lau <stevelauc@outlook.com> | 2022-10-12 08:28:22 +0800 |
commit | bfc406468aa908cb54b962d824221581e11e9a42 (patch) | |
tree | e4a98df33c84b4f390afdeb98207b359f72ff00d | |
parent | 88b2ed287f27a453d623e91517d7973a586a203f (diff) | |
download | rust-libc-bfc406468aa908cb54b962d824221581e11e9a42.tar.gz |
some time functions on glibc and musl
-rw-r--r-- | libc-test/semver/linux-gnu.txt | 6 | ||||
-rw-r--r-- | libc-test/semver/linux-musl.txt | 5 | ||||
-rw-r--r-- | src/unix/linux_like/linux/gnu/mod.rs | 11 | ||||
-rw-r--r-- | src/unix/linux_like/linux/musl/mod.rs | 10 |
4 files changed, 30 insertions, 2 deletions
diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt index 6b43d6202b..a4289ad849 100644 --- a/libc-test/semver/linux-gnu.txt +++ b/libc-test/semver/linux-gnu.txt @@ -653,4 +653,8 @@ utmpname utmpx utmpxname euidaccess -eaccess
\ No newline at end of file +eaccess +asctime_r +ctime_r +strftime +strptime
\ No newline at end of file diff --git a/libc-test/semver/linux-musl.txt b/libc-test/semver/linux-musl.txt index 96d04e0d90..c00934af10 100644 --- a/libc-test/semver/linux-musl.txt +++ b/libc-test/semver/linux-musl.txt @@ -49,4 +49,7 @@ pwritev64 reallocarray timex euidaccess -eaccess
\ No newline at end of file +eaccess +asctime_r +strftime +strptime
\ No newline at end of file diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 21e7619db5..3506d922dd 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -1335,6 +1335,17 @@ extern "C" { pub fn euidaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int; pub fn eaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int; + + pub fn asctime_r(tm: *const ::tm, buf: *mut ::c_char) -> *mut ::c_char; + pub fn ctime_r(timep: *const time_t, buf: *mut ::c_char) -> *mut ::c_char; + + pub fn strftime( + s: *mut ::c_char, + max: ::size_t, + format: *const ::c_char, + tm: *const ::tm, + ) -> ::size_t; + pub fn strptime(s: *const ::c_char, format: *const ::c_char, tm: *mut ::tm) -> *mut ::c_char; } extern "C" { diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index 894f377acf..32d3578218 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -757,6 +757,16 @@ extern "C" { pub fn euidaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int; pub fn eaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int; + + pub fn asctime_r(tm: *const ::tm, buf: *mut ::c_char) -> *mut ::c_char; + + pub fn strftime( + s: *mut ::c_char, + max: ::size_t, + format: *const ::c_char, + tm: *const ::tm, + ) -> ::size_t; + pub fn strptime(s: *const ::c_char, format: *const ::c_char, tm: *mut ::tm) -> *mut ::c_char; } cfg_if! { |