Piotr Caban : msvcp90: Move basic_string<char>:swap implementation.
Alexandre Julliard
julliard at winehq.org
Fri Apr 29 11:09:14 CDT 2011
Module: wine
Branch: master
Commit: b7990be894ecac8106edeb737782f5a8eade767a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b7990be894ecac8106edeb737782f5a8eade767a
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Apr 29 11:14:41 2011 +0200
msvcp90: Move basic_string<char>:swap implementation.
---
dlls/msvcp90/string.c | 44 ++++++++++++++++++++++----------------------
1 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index b604092..761e612 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -780,6 +780,28 @@ size_t __thiscall MSVCP_basic_string_char_length(basic_string_char *this)
return this->size;
}
+/* ?swap@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEXAAV12@@Z */
+/* ?swap@?$basic_string at DU?$char_traits at D@std@@V?$allocator at 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;
+ }
+}
+
/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at ABV12@II at Z */
/* ?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at AEBV12@_K1 at Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_substr, 16)
@@ -1262,28 +1284,6 @@ size_t __thiscall MSVCP_basic_string_wchar_length(basic_string_wchar *this)
return this->size;
}
-/* ?swap@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEXAAV12@@Z */
-/* ?swap@?$basic_string at DU?$char_traits at D@std@@V?$allocator at 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;
- }
-}
-
/* ?swap@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEXAAV12@@Z */
/* ?swap@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAXAEAV12@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_swap, 8)
More information about the wine-cvs
mailing list