Martin Storsjo : msvcr120: Implement the _vacopy function.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 8 16:10:36 CST 2014


Module: wine
Branch: master
Commit: 589f58d806908e506fd52a5ef4760932a612de28
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=589f58d806908e506fd52a5ef4760932a612de28

Author: Martin Storsjo <martin at martin.st>
Date:   Fri Dec  5 00:40:51 2014 +0200

msvcr120: Implement the _vacopy function.

---

 dlls/msvcr120/msvcr120.spec | 2 +-
 dlls/msvcrt/misc.c          | 8 ++++++++
 include/msvcrt/crtdefs.h    | 6 ++++++
 include/windef.h            | 6 ++++++
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 1b8dc28..d0ba290 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1792,7 +1792,7 @@
 @ cdecl _unlock_file(ptr) MSVCRT__unlock_file
 @ cdecl _utime32(str ptr)
 @ cdecl _utime64(str ptr)
-@ stub _vacopy
+@ cdecl _vacopy(ptr ptr) MSVCR120__vacopy
 @ cdecl _vcprintf(str ptr)
 @ stub _vcprintf_l
 @ stub _vcprintf_p
diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c
index c66152b..4e9f288 100644
--- a/dlls/msvcrt/misc.c
+++ b/dlls/msvcrt/misc.c
@@ -490,3 +490,11 @@ BOOL CDECL MSVCR110__crtInitializeCriticalSectionEx(
     TRACE("(%p %x %x)\n", cs, spin_count, flags);
     return InitializeCriticalSectionEx(cs, spin_count, flags);
 }
+
+/*********************************************************************
+ * _vacopy (MSVCR120.@)
+ */
+void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src)
+{
+    __ms_va_copy(*dest, src);
+}
diff --git a/include/msvcrt/crtdefs.h b/include/msvcrt/crtdefs.h
index da278be..f2600ad 100644
--- a/include/msvcrt/crtdefs.h
+++ b/include/msvcrt/crtdefs.h
@@ -80,10 +80,16 @@
 #  define __ms_va_list __builtin_ms_va_list
 #  define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg)
 #  define __ms_va_end(list) __builtin_ms_va_end(list)
+#  define __ms_va_copy(dest,src) __builtin_ms_va_copy(dest,src)
 # else
 #  define __ms_va_list va_list
 #  define __ms_va_start(list,arg) va_start(list,arg)
 #  define __ms_va_end(list) va_end(list)
+#  ifdef va_copy
+#   define __ms_va_copy(dest,src) va_copy(dest,src)
+#  else
+#   define __ms_va_copy(dest,src) ((dest) = (src))
+#  endif
 # endif
 #endif
 
diff --git a/include/windef.h b/include/windef.h
index 9322c41..e914726 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -89,10 +89,16 @@ extern "C" {
 #  define __ms_va_list __builtin_ms_va_list
 #  define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg)
 #  define __ms_va_end(list) __builtin_ms_va_end(list)
+#  define __ms_va_copy(dest,src) __builtin_ms_va_copy(dest,src)
 # else
 #  define __ms_va_list va_list
 #  define __ms_va_start(list,arg) va_start(list,arg)
 #  define __ms_va_end(list) va_end(list)
+#  ifdef va_copy
+#   define __ms_va_copy(dest,src) va_copy(dest,src)
+#  else
+#   define __ms_va_copy(dest,src) ((dest) = (src))
+#  endif
 # endif
 #endif
 




More information about the wine-cvs mailing list