[PATCH] ucrtbase: Implement __std_type_info_compare

Martin Storsjo martin at martin.st
Thu Nov 5 14:59:05 CST 2015


Signed-off-by: Martin Storsjo <martin at martin.st>
---
 .../api-ms-win-crt-private-l1-1-0.spec                         |  2 +-
 dlls/msvcrt/cpp.c                                              | 10 ++++++++++
 dlls/ucrtbase/ucrtbase.spec                                    |  2 +-
 dlls/vcruntime140/vcruntime140.spec                            |  2 +-
 4 files changed, 13 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 5174702..b77b73e 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
@@ -44,7 +44,7 @@
 @ stub __report_gsfailure
 @ stub __std_exception_copy
 @ stub __std_exception_destroy
-@ stub __std_type_info_compare
+@ cdecl __std_type_info_compare(ptr ptr) ucrtbase.__std_type_info_compare
 @ stub __std_type_info_destroy_list
 @ stub __std_type_info_hash
 @ stub __std_type_info_name
diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c
index 8f7fdf2..7cffa00 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -575,6 +575,16 @@ int __thiscall MSVCRT_type_info_before(type_info * _this, const type_info * rhs)
 }
 
 /******************************************************************
+ *		__std_type_info_compare (MSVCRT.@)
+ */
+int CDECL MSVCRT_type_info_compare(type_info * _this, const type_info * rhs)
+{
+    int ret = strcmp(_this->mangled + 1, rhs->mangled + 1);
+    TRACE("(%p %p) returning %d\n", _this, rhs, ret);
+    return ret;
+}
+
+/******************************************************************
  *		??1type_info@@UAE at XZ (MSVCRT.@)
  */
 DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_dtor,4)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index a2051e0..fd16360 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -142,7 +142,7 @@
 @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr
 @ stub __std_exception_copy
 @ stub __std_exception_destroy
-@ stub __std_type_info_compare
+@ cdecl __std_type_info_compare(ptr ptr) MSVCRT_type_info_compare
 @ stub __std_type_info_destroy_list
 @ stub __std_type_info_hash
 @ stub __std_type_info_name
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index 4631073..feb94ac 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -39,7 +39,7 @@
 @ stub __std_exception_copy
 @ stub __std_exception_destroy
 @ stub __std_terminate
-@ stub __std_type_info_compare
+@ cdecl __std_type_info_compare(ptr ptr) ucrtbase.__std_type_info_compare
 @ stub __std_type_info_destroy_list
 @ stub __std_type_info_hash
 @ stub __std_type_info_name
-- 
1.8.1.2




More information about the wine-patches mailing list