Piotr Caban : ucrtbase: Add __std_type_info_destroy_list implementation.
Alexandre Julliard
julliard at winehq.org
Thu Aug 4 17:20:18 CDT 2016
Module: wine
Branch: master
Commit: 4ba09e11a891ee120d6a6602f3a4ecb5aaaaa86a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4ba09e11a891ee120d6a6602f3a4ecb5aaaaa86a
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Aug 4 16:28:55 2016 +0200
ucrtbase: Add __std_type_info_destroy_list implementation.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
.../api-ms-win-crt-private-l1-1-0.spec | 2 +-
dlls/msvcrt/cpp.c | 16 ++++++++++++++++
dlls/ucrtbase/ucrtbase.spec | 2 +-
dlls/vcruntime140/vcruntime140.spec | 2 +-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index d8f4c52..a007823 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -45,7 +45,7 @@
@ cdecl __std_exception_copy(ptr ptr) ucrtbase.__std_exception_copy
@ cdecl __std_exception_destroy(ptr) ucrtbase.__std_exception_destroy
@ cdecl __std_type_info_compare(ptr ptr) ucrtbase.__std_type_info_compare
-@ stub __std_type_info_destroy_list
+@ cdecl __std_type_info_destroy_list(ptr) ucrtbase.__std_type_info_destroy_list
@ stub __std_type_info_hash
@ cdecl __std_type_info_name(ptr ptr) ucrtbase.__std_type_info_name
@ cdecl __unDName(ptr str long ptr ptr long) ucrtbase.__unDName
diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c
index ee27fc7..3621f12 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -1572,4 +1572,20 @@ const char* CDECL MSVCRT_type_info_name_list(type_info140 *ti, SLIST_HEADER *hea
TRACE("(%p) returning %s\n", ti, ti->name);
return ti->name;
}
+
+/******************************************************************
+ * __std_type_info_destroy_list (UCRTBASE.@)
+ */
+void CDECL MSVCRT_type_info_destroy_list(SLIST_HEADER *header)
+{
+ SLIST_ENTRY *cur, *next;
+
+ TRACE("(%p)\n", header);
+
+ for(cur = InterlockedFlushSList(header); cur; cur = next)
+ {
+ next = cur->Next;
+ MSVCRT_free(cur);
+ }
+}
#endif
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index d1c1553..bb549d1 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -143,7 +143,7 @@
@ cdecl __std_exception_copy(ptr ptr) MSVCRT___std_exception_copy
@ cdecl __std_exception_destroy(ptr) MSVCRT___std_exception_destroy
@ cdecl __std_type_info_compare(ptr ptr) MSVCRT_type_info_compare
-@ stub __std_type_info_destroy_list
+@ cdecl __std_type_info_destroy_list(ptr) MSVCRT_type_info_destroy_list
@ stub __std_type_info_hash
@ cdecl __std_type_info_name(ptr ptr) MSVCRT_type_info_name_list
@ cdecl __stdio_common_vfprintf(int64 ptr str ptr ptr) MSVCRT__stdio_common_vfprintf
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index 525a998..8d6c060 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -40,7 +40,7 @@
@ cdecl __std_exception_destroy(ptr) ucrtbase.__std_exception_destroy
@ stub __std_terminate
@ cdecl __std_type_info_compare(ptr ptr) ucrtbase.__std_type_info_compare
-@ stub __std_type_info_destroy_list
+@ cdecl __std_type_info_destroy_list(ptr) ucrtbase.__std_type_info_destroy_list
@ stub __std_type_info_hash
@ cdecl __std_type_info_name(ptr ptr) ucrtbase.__std_type_info_name
@ cdecl __telemetry_main_invoke_trigger(ptr)
More information about the wine-cvs
mailing list