Piotr Caban : msvcp90: Added basic_string::_Chassign implementation.

Alexandre Julliard julliard at winehq.org
Tue Sep 13 12:18:09 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Sep 13 10:30:58 2011 +0200

msvcp90: Added basic_string::_Chassign implementation.

---

 dlls/msvcp90/msvcp90.spec |    8 ++++----
 dlls/msvcp90/string.c     |   20 ++++++++++++++++++++
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 4654d2c..d0c29d0 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -2114,12 +2114,12 @@
 @ cdecl -arch=win64 ?_Callfns at ios_base@std@@AEAAXW4event at 12@@Z(ptr long) ios_base_Callfns
 @ stub -arch=win32 ?_Cerr_func at std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@1 at XZ
 @ stub -arch=win64 ?_Cerr_func at std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@1 at XZ
-@ stub -arch=win32 ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAEXIID at Z
-@ stub -arch=win64 ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IEAAX_K0D at Z
+@ thiscall -arch=win32 ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAEXIID at Z(ptr long long long) MSVCP_basic_string_char_Chassign
+@ cdecl -arch=win64 ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IEAAX_K0D at Z(ptr long long long) MSVCP_basic_string_char_Chassign
 @ stub -arch=win32 ?_Chassign@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@IAEXIIG at Z
 @ stub -arch=win64 ?_Chassign@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@IEAAX_K0G at Z
-@ stub -arch=win32 ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IAEXII_W at Z
-@ stub -arch=win64 ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IEAAX_K0_W at Z
+@ thiscall -arch=win32 ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IAEXII_W at Z(ptr long long long) MSVCP_basic_string_wchar_Chassign
+@ cdecl -arch=win64 ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IEAAX_K0_W at Z(ptr long long long) MSVCP_basic_string_wchar_Chassign
 @ stub -arch=win32 ?_Cin_func at std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@1 at XZ
 @ stub -arch=win64 ?_Cin_func at std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@1 at XZ
 # extern -arch=win64 ?_Cl@?5???$log at M@std@@YA?AV?$complex at M@1 at AEBV21@@Z at 4MB
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 6d66677..5664e87 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -731,6 +731,16 @@ basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr(
             MSVCP_char_traits_char_length(str));
 }
 
+/* ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAEXIID at Z */
+/* ?_Chassign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IEAAX_K0D at Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_Chassign, 16)
+void __thiscall MSVCP_basic_string_char_Chassign(basic_string_char *this,
+        MSVCP_size_t off, MSVCP_size_t count, char ch)
+{
+    TRACE("%p %lu %lu %c\n", this, off, count, ch);
+    MSVCP_char_traits_char_assignn(basic_string_char_ptr(this)+off, count, ch);
+}
+
 /* ?c_str@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEPBDXZ */
 /* ?c_str@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBAPEBDXZ */
 /* ?data@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEPBDXZ */
@@ -1690,6 +1700,16 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_cstr(
             MSVCP_char_traits_wchar_length(str));
 }
 
+/* ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IAEXII_W at Z */
+/* ?_Chassign@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IEAAX_K0_W at Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_Chassign, 16)
+void __thiscall MSVCP_basic_string_wchar_Chassign(basic_string_wchar *this,
+        MSVCP_size_t off, MSVCP_size_t count, wchar_t ch)
+{
+    TRACE("%p %lu %lu %c\n", this, off, count, ch);
+    MSVCP_char_traits_wchar_assignn(basic_string_wchar_ptr(this)+off, count, ch);
+}
+
 /* ?c_str@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEPB_WXZ */
 /* ?c_str@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBAPEB_WXZ */
 /* ?data@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEPB_WXZ */




More information about the wine-cvs mailing list