msvcp90: Added basic_string::copy implementation.

This commit is contained in:
Piotr Caban 2011-11-16 16:27:47 +01:00 committed by Alexandre Julliard
parent 0d6bd98783
commit b9f544a2ab
2 changed files with 26 additions and 8 deletions

View File

@ -3168,12 +3168,12 @@
@ cdecl -arch=win64 ?construct@?$allocator@G@std@@QEAAXPEAGAEBG@Z(ptr ptr ptr) MSVCP_allocator_short_construct
@ thiscall -arch=win32 ?construct@?$allocator@_W@std@@QAEXPA_WAB_W@Z(ptr ptr ptr) MSVCP_allocator_wchar_construct
@ cdecl -arch=win64 ?construct@?$allocator@_W@std@@QEAAXPEA_WAEB_W@Z(ptr ptr ptr) MSVCP_allocator_wchar_construct
@ stub -arch=win32 ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z
@ stub -arch=win64 ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z
@ thiscall -arch=win32 ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z(ptr ptr long long) basic_string_char_copy
@ cdecl -arch=win64 ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z(ptr ptr long long) basic_string_char_copy
@ stub -arch=win32 ?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z
@ stub -arch=win64 ?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEAG_K1@Z
@ stub -arch=win32 ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPA_WII@Z
@ stub -arch=win64 ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K1@Z
@ thiscall -arch=win32 ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPA_WII@Z(ptr ptr long long) basic_string_wchar_copy
@ cdecl -arch=win64 ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K1@Z(ptr ptr long long) basic_string_wchar_copy
@ cdecl -arch=win32 ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z(ptr ptr long) MSVCP_char_traits_char_copy
@ cdecl -arch=win64 ?copy@?$char_traits@D@std@@SAPEADPEADPEBD_K@Z(ptr ptr long) MSVCP_char_traits_char_copy
@ cdecl -arch=win32 ?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z(ptr ptr long) MSVCP_char_traits_short_copy

View File

@ -853,9 +853,9 @@ void __thiscall MSVCP_basic_string_char_Chassign(basic_string_char *this,
/* ?_Copy_s@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K11@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_Copy_s, 20)
MSVCP_size_t __thiscall MSVCP_basic_string_char_Copy_s(const basic_string_char *this,
char *dest, MSVCP_size_t size, MSVCP_size_t off, MSVCP_size_t count)
char *dest, MSVCP_size_t size, MSVCP_size_t count, MSVCP_size_t off)
{
TRACE("%p %p %lu %lu %lu\n", this, dest, size, off, count);
TRACE("%p %p %lu %lu %lu\n", this, dest, size, count, off);
if(this->size < off)
MSVCP__String_base_Xran();
@ -868,6 +868,15 @@ MSVCP_size_t __thiscall MSVCP_basic_string_char_Copy_s(const basic_string_char *
return count;
}
/* ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z */
/* ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z */
DEFINE_THISCALL_WRAPPER(basic_string_char_copy, 16)
MSVCP_size_t __thiscall basic_string_char_copy(const basic_string_char *this,
char *dest, MSVCP_size_t count, MSVCP_size_t off)
{
return MSVCP_basic_string_char_Copy_s(this, dest, count, count, off);
}
/* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ */
/* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ */
/* ?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ */
@ -2530,9 +2539,9 @@ void __thiscall MSVCP_basic_string_wchar_Chassign(basic_string_wchar *this,
/* ?_Copy_s@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K11@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_Copy_s, 20)
MSVCP_size_t __thiscall MSVCP_basic_string_wchar_Copy_s(const basic_string_wchar *this,
wchar_t *dest, MSVCP_size_t size, MSVCP_size_t off, MSVCP_size_t count)
wchar_t *dest, MSVCP_size_t size, MSVCP_size_t count, MSVCP_size_t off)
{
TRACE("%p %p %lu %lu %lu\n", this, dest, size, off, count);
TRACE("%p %p %lu %lu %lu\n", this, dest, size, count, off);
if(this->size < off)
MSVCP__String_base_Xran();
@ -2545,6 +2554,15 @@ MSVCP_size_t __thiscall MSVCP_basic_string_wchar_Copy_s(const basic_string_wchar
return count;
}
/* ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPA_WII@Z */
/* ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K1@Z */
DEFINE_THISCALL_WRAPPER(basic_string_wchar_copy, 16)
MSVCP_size_t __thiscall basic_string_wchar_copy(const basic_string_wchar *this,
wchar_t *dest, MSVCP_size_t count, MSVCP_size_t off)
{
return MSVCP_basic_string_wchar_Copy_s(this, dest, count, count, off);
}
/* ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ */
/* ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ */
/* ?data@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ */