mirror of
https://github.com/reactos/wine.git
synced 2025-02-02 18:25:19 +00:00
msvcp90: Added basic_string<char>::swap implementation.
This commit is contained in:
parent
129778803e
commit
676d0d41f5
@ -5477,8 +5477,8 @@
|
||||
@ stub -arch=win64 ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
|
||||
@ stub -arch=win32 ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ
|
||||
@ stub -arch=win64 ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ
|
||||
@ stub -arch=win32 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
|
||||
@ stub -arch=win64 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z
|
||||
@ thiscall -arch=win32 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z(ptr ptr) msvcp90.?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
|
||||
@ cdecl -arch=win64 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z (ptr ptr) msvcp90.?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z
|
||||
@ stub -arch=win32 ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
|
||||
@ stub -arch=win64 ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEAV12@@Z
|
||||
@ stub -arch=win32 ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
|
||||
|
@ -5508,8 +5508,8 @@
|
||||
@ stub -arch=win64 ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
|
||||
@ stub -arch=win32 ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ
|
||||
@ stub -arch=win64 ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ
|
||||
@ stub -arch=win32 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
|
||||
@ stub -arch=win64 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z
|
||||
@ thiscall -arch=win32 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z(ptr ptr) MSVCP_basic_string_char_swap
|
||||
@ cdecl -arch=win64 ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z(ptr ptr) MSVCP_basic_string_char_swap
|
||||
@ stub -arch=win32 ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
|
||||
@ stub -arch=win64 ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEAV12@@Z
|
||||
@ stub -arch=win32 ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
|
||||
|
@ -1017,3 +1017,25 @@ size_t __thiscall MSVCP_basic_string_wchar_length(basic_string_wchar *this)
|
||||
TRACE("%p\n", this);
|
||||
return this->size;
|
||||
}
|
||||
|
||||
/* ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z */
|
||||
/* ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z */
|
||||
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_swap, 8)
|
||||
void __thiscall MSVCP_basic_string_char_swap(basic_string_char *this, basic_string_char *str)
|
||||
{
|
||||
if(this != str) {
|
||||
char tmp[sizeof(this->data)];
|
||||
const size_t size = this->size;
|
||||
const size_t res = this->res;
|
||||
|
||||
memcpy(tmp, this->data.buf, sizeof(this->data));
|
||||
memcpy(this->data.buf, str->data.buf, sizeof(this->data));
|
||||
memcpy(str->data.buf, tmp, sizeof(this->data));
|
||||
|
||||
this->size = str->size;
|
||||
this->res = str->res;
|
||||
|
||||
str->size = size;
|
||||
str->res = res;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user