Martin Storsjo : ucrtbase: Implement __std_type_info_compare.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Nov 6 09:06:33 CST 2015


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

Author: Martin Storsjo <martin at martin.st>
Date:   Thu Nov  5 22:59:05 2015 +0200

ucrtbase: Implement __std_type_info_compare.

Signed-off-by: Martin Storsjo <martin at martin.st>
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                                              | 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 4e8b3bb..7d8d4d1 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




More information about the wine-cvs mailing list