summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-09-26 04:35:41 +0000
committerbors <bors@rust-lang.org>2021-09-26 04:35:41 +0000
commit7dfced35f52516f287471f9d7f74a203d7181542 (patch)
treef346bcb8c8952e8c7ec8601c33fbe82fd8f6e5e0
parentffcf50aacc48ee1d6324fbf69d725af5ec9bffe7 (diff)
parente20c31bccf1d2b22d54df2243c6f79b1d4d0814d (diff)
downloadrust-libc-7dfced35f52516f287471f9d7f74a203d7181542.tar.gz
Auto merge of #2407 - devnexen:win32_fns_upd, r=JohnTitor
windows add localtime_s/memccpy fns
-rw-r--r--libc-test/semver/windows-msvc.txt1
-rw-r--r--libc-test/semver/windows.txt2
-rw-r--r--src/windows/mod.rs4
-rw-r--r--src/windows/msvc/mod.rs7
4 files changed, 14 insertions, 0 deletions
diff --git a/libc-test/semver/windows-msvc.txt b/libc-test/semver/windows-msvc.txt
index 42dc8bede1..5b5296be3e 100644
--- a/libc-test/semver/windows-msvc.txt
+++ b/libc-test/semver/windows-msvc.txt
@@ -1,3 +1,4 @@
EOTHER
+memccpy
stricmp
strnicmp
diff --git a/libc-test/semver/windows.txt b/libc-test/semver/windows.txt
index 259e3766ff..ade72529e2 100644
--- a/libc-test/semver/windows.txt
+++ b/libc-test/semver/windows.txt
@@ -178,6 +178,7 @@ creat
dev_t
dup
dup2
+errno_t
execl
execle
execlp
@@ -239,6 +240,7 @@ isupper
isxdigit
labs
listen
+localtime_s
lseek
lseek64
malloc
diff --git a/src/windows/mod.rs b/src/windows/mod.rs
index 71af46a272..8ecff3ca7e 100644
--- a/src/windows/mod.rs
+++ b/src/windows/mod.rs
@@ -27,6 +27,8 @@ pub type wchar_t = u16;
pub type clock_t = i32;
+pub type errno_t = ::c_int;
+
cfg_if! {
if #[cfg(all(target_arch = "x86", target_env = "gnu"))] {
pub type time_t = i32;
@@ -372,6 +374,8 @@ extern "C" {
#[link_name = "_gmtime64_s"]
pub fn gmtime_s(destTime: *mut tm, srcTime: *const time_t) -> ::c_int;
+ #[link_name = "_localtime64_s"]
+ pub fn localtime_s(tmDest: *mut tm, sourceTime: *const time_t) -> ::errno_t;
#[link_name = "_time64"]
pub fn time(destTime: *mut time_t) -> time_t;
#[link_name = "_chmod"]
diff --git a/src/windows/msvc/mod.rs b/src/windows/msvc/mod.rs
index 3d71dc627e..8cdb5bb176 100644
--- a/src/windows/msvc/mod.rs
+++ b/src/windows/msvc/mod.rs
@@ -10,6 +10,13 @@ extern "C" {
pub fn stricmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int;
#[link_name = "_strnicmp"]
pub fn strnicmp(s1: *const ::c_char, s2: *const ::c_char, n: ::size_t) -> ::c_int;
+ #[link_name = "_memccpy"]
+ pub fn memccpy(
+ dest: *mut ::c_void,
+ src: *const ::c_void,
+ c: ::c_int,
+ count: ::size_t,
+ ) -> *mut ::c_void;
}
cfg_if! {