[PATCH 3/3] msvcrt: Implement _ftime64_s and _ftime32_s.
Eryk Wieliczko
ewdevel at gmail.com
Tue Dec 21 17:00:15 CST 2010
---
dlls/msvcr100/msvcr100.spec | 4 ++--
dlls/msvcr80/msvcr80.spec | 4 ++--
dlls/msvcr90/msvcr90.spec | 4 ++--
dlls/msvcrt/msvcrt.spec | 4 ++--
dlls/msvcrt/time.c | 28 ++++++++++++++++++++++++++++
5 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index c15ecfd..7d372f2 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -659,9 +659,9 @@
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
-@ stub _ftime32_s
+@ cdecl _ftime32_s(ptr) msvcrt._ftime32_s
@ cdecl _ftime64(ptr) msvcrt._ftime64
-@ stub _ftime64_s
+@ cdecl _ftime64_s(ptr) msvcrt._ftime64_s
@ cdecl -ret64 _ftol() msvcrt._ftol
@ cdecl _fullpath(ptr str long) msvcrt._fullpath
@ cdecl _futime32(long ptr) msvcrt._futime32
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 49e51c1..8459ba4 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -500,9 +500,9 @@
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
-@ stub _ftime32_s
+@ cdecl _ftime32_s(ptr) msvcrt._ftime32_s
@ cdecl _ftime64(ptr) msvcrt._ftime64
-@ stub _ftime64_s
+@ cdecl _ftime64_s(ptr) msvcrt._ftime64_s
@ cdecl -ret64 _ftol() msvcrt._ftol
@ cdecl _fullpath(ptr str long) msvcrt._fullpath
@ cdecl _futime32(long ptr) msvcrt._futime32
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 480a544..df99a82 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -492,9 +492,9 @@
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
-@ stub _ftime32_s
+@ cdecl _ftime32_s(ptr) msvcrt._ftime32_s
@ cdecl _ftime64(ptr) msvcrt._ftime64
-@ stub _ftime64_s
+@ cdecl _ftime64_s(ptr) msvcrt._ftime64_s
@ cdecl -ret64 _ftol() msvcrt._ftol
@ cdecl _fullpath(ptr str long) msvcrt._fullpath
@ cdecl _futime32(long ptr) msvcrt._futime32
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 90c774b..88b2822 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -444,9 +444,9 @@
@ cdecl -ret64 _ftelli64(ptr) MSVCRT__ftelli64
@ cdecl _ftime(ptr) MSVCRT__ftime
@ cdecl _ftime32(ptr) MSVCRT__ftime32
-# stub _ftime32_s
+@ cdecl _ftime32_s(ptr) MSVCRT__ftime32_s
@ cdecl _ftime64(ptr) MSVCRT__ftime64
-# stub _ftime64_s
+@ cdecl _ftime64_s(ptr) MSVCRT__ftime64_s
@ cdecl -ret64 _ftol() ntdll._ftol
@ cdecl -ret64 _ftol2() ntdll._ftol
@ cdecl -ret64 _ftol2_sse() ntdll._ftol #FIXME: SSE variant should be implemented
diff --git a/dlls/msvcrt/time.c b/dlls/msvcrt/time.c
index 4150156..9dc2a3e 100644
--- a/dlls/msvcrt/time.c
+++ b/dlls/msvcrt/time.c
@@ -602,6 +602,20 @@ void CDECL MSVCRT__ftime64(struct MSVCRT___timeb64 *buf)
}
/*********************************************************************
+ * _ftime64_s (MSVCRT.@)
+ */
+int CDECL MSVCRT__ftime64_s(struct MSVCRT___timeb64 *buf)
+{
+ if( !MSVCRT_CHECK_PMT( buf != NULL ) )
+ {
+ *MSVCRT__errno() = MSVCRT_EINVAL;
+ return MSVCRT_EINVAL;
+ }
+ MSVCRT__ftime64(buf);
+ return 0;
+}
+
+/*********************************************************************
* _ftime32 (MSVCRT.@)
*/
void CDECL MSVCRT__ftime32(struct MSVCRT___timeb32 *buf)
@@ -616,6 +630,20 @@ void CDECL MSVCRT__ftime32(struct MSVCRT___timeb32 *buf)
}
/*********************************************************************
+ * _ftime32_s (MSVCRT.@)
+ */
+int CDECL MSVCRT__ftime32_s(struct MSVCRT___timeb32 *buf)
+{
+ if( !MSVCRT_CHECK_PMT( buf != NULL ) )
+ {
+ *MSVCRT__errno() = MSVCRT_EINVAL;
+ return MSVCRT_EINVAL;
+ }
+ MSVCRT__ftime32(buf);
+ return 0;
+}
+
+/*********************************************************************
* _ftime (MSVCRT.@)
*/
#ifdef _WIN64
--
1.7.0.4
More information about the wine-patches
mailing list