Piotr Caban : msvcp90: Added basic_string::append functions.

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


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

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

msvcp90: Added basic_string::append functions.

---

 dlls/msvcp90/msvcp90.spec |   16 ++++++++--------
 dlls/msvcp90/string.c     |   36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 51a2ea1..060bfd0 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -2921,14 +2921,14 @@
 @ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at ABV12@II at Z(ptr ptr long long) MSVCP_basic_string_char_append_substr
 @ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at AEBV12@_K1 at Z(ptr ptr long long) MSVCP_basic_string_char_append_substr
 @ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at ID@Z(ptr long long) MSVCP_basic_string_char_append_len_ch
-@ stub -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at PEBD0@Z
-@ stub -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at PBD0@Z
+@ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at PEBD0@Z(ptr ptr ptr) MSVCP_basic_string_char_append_beg_end
+@ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at PBD0@Z(ptr ptr ptr) MSVCP_basic_string_char_append_beg_end
 @ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at PEBD@Z(ptr str) MSVCP_basic_string_char_append_cstr
 @ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at PBD@Z(ptr str) MSVCP_basic_string_char_append_cstr
 @ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at PEBD_K@Z(ptr str long) MSVCP_basic_string_char_append_cstr_len
 @ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at PBDI@Z(ptr str long) MSVCP_basic_string_char_append_cstr_len
-@ stub -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z
-@ stub -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z
+@ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z(ptr ptr ptr) MSVCP_basic_string_char_append_iter
+@ thiscall -arch=win32 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z(ptr ptr ptr ptr ptr) MSVCP_basic_string_char_append_iter
 @ cdecl -arch=win64 ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at _KD@Z(ptr long long) MSVCP_basic_string_char_append_len_ch
 @ stub -arch=win32 ?append@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QAEAAV12 at ABV12@@Z
 @ stub -arch=win64 ?append@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QEAAAEAV12 at AEBV12@@Z
@@ -2949,14 +2949,14 @@
 @ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at ABV12@II at Z(ptr ptr long long) MSVCP_basic_string_wchar_append_substr
 @ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at AEBV12@_K1 at Z(ptr ptr long long) MSVCP_basic_string_wchar_append_substr
 @ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at I_W@Z(ptr long long) MSVCP_basic_string_wchar_append_len_ch
-@ stub -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at PEB_W0@Z
-@ stub -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at PB_W0@Z
+@ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at PEB_W0@Z(ptr ptr ptr) MSVCP_basic_string_wchar_append_beg_end
+@ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at PB_W0@Z(ptr ptr ptr) MSVCP_basic_string_wchar_append_beg_end
 @ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at PEB_W@Z(ptr wstr) MSVCP_basic_string_wchar_append_cstr
 @ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at PB_W@Z(ptr wstr) MSVCP_basic_string_wchar_append_cstr
 @ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at PEB_W_K@Z(ptr wstr long) MSVCP_basic_string_wchar_append_cstr_len
 @ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at PB_WI@Z(ptr wstr long) MSVCP_basic_string_wchar_append_cstr_len
-@ stub -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z
-@ stub -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z
+@ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z(ptr ptr ptr) MSVCP_basic_string_wchar_append_iter
+@ thiscall -arch=win32 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z(ptr ptr ptr ptr ptr) MSVCP_basic_string_wchar_append_iter
 @ cdecl -arch=win64 ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at _K_W@Z(ptr long long) MSVCP_basic_string_wchar_append_len_ch
 @ thiscall -arch=win32 ?assign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at ABV12@@Z(ptr ptr) MSVCP_basic_string_char_assign
 @ cdecl -arch=win64 ?assign@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at AEBV12@@Z(ptr ptr) MSVCP_basic_string_char_assign
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 300c8bd..d8a7728 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -994,6 +994,24 @@ basic_string_char* __thiscall MSVCP_basic_string_char_append_cstr(
             MSVCP_char_traits_char_length(append));
 }
 
+/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at PBD0@Z */
+/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at PEBD0@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_beg_end, 12)
+basic_string_char* __thiscall MSVCP_basic_string_char_append_beg_end(
+        basic_string_char *this, const char *beg, const char *end)
+{
+    return MSVCP_basic_string_char_append_cstr_len(this, beg, end-beg);
+}
+
+/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z */
+/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at 0@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_iter, 20)
+basic_string_char* __thiscall MSVCP_basic_string_char_append_iter(
+        basic_string_char *this, String_iterator_char beg, String_iterator_char end)
+{
+    return MSVCP_basic_string_char_append_cstr_len(this, beg.pos, end.pos-beg.pos+1);
+}
+
 /* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at ID@Z */
 /* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at _KD@Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_len_ch, 12)
@@ -1996,6 +2014,24 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_cstr(
             MSVCP_char_traits_wchar_length(append));
 }
 
+/* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at PB_W0@Z */
+/* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at PEB_W0@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_beg_end, 12)
+basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_beg_end(
+        basic_string_wchar *this, const wchar_t *beg, const wchar_t *end)
+{
+    return MSVCP_basic_string_wchar_append_cstr_len(this, beg, end-beg);
+}
+
+/* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z */
+/* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@2 at 0@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_iter, 20)
+basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_iter(
+        basic_string_wchar *this, String_iterator_wchar beg, String_iterator_wchar end)
+{
+    return MSVCP_basic_string_wchar_append_cstr_len(this, beg.pos, end.pos-beg.pos+1);
+}
+
 /* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at I_W@Z */
 /* ?append@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at _K_W@Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_len_ch, 12)




More information about the wine-cvs mailing list