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