Module: wine Branch: master Commit: b0211b5b18b55e256394cea01c4253d907f3328a URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0211b5b18b55e256394cea01c...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Oct 18 11:13:42 2011 +0200
msvcp90: Added basic_string::get_allocator implementation.
---
dlls/msvcp90/msvcp90.spec | 8 ++++---- dlls/msvcp90/string.c | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 4a41fed..33d5619 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -4099,12 +4099,12 @@ @ stub -arch=win64 ?get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z @ stub -arch=win32 ?get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z @ stub -arch=win64 ?get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z -@ stub -arch=win32 ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ -@ stub -arch=win64 ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ +@ thiscall -arch=win32 ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ(ptr) basic_string_char_get_allocator +@ cdecl -arch=win64 ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ(ptr) basic_string_char_get_allocator @ stub -arch=win32 ?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ @ stub -arch=win64 ?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$allocator@G@2@XZ -@ stub -arch=win32 ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$allocator@_W@2@XZ -@ stub -arch=win64 ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$allocator@_W@2@XZ +@ thiscall -arch=win32 ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$allocator@_W@2@XZ(ptr) basic_string_wchar_get_allocator +@ cdecl -arch=win64 ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$allocator@_W@2@XZ(ptr) basic_string_wchar_get_allocator @ stub -arch=win32 ?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z @ stub -arch=win64 ?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z @ stub -arch=win32 ?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index e2595a7..c2aa0da 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -47,6 +47,10 @@ typedef struct { MSVCP_size_t val; } size_t_noverify;
+/* allocator class */ +typedef struct { +} allocator; + /* char_traits<char> */ /* ?assign@?$char_traits@D@std@@SAXAADABD@Z */ /* ?assign@?$char_traits@D@std@@SAXAEADAEBD@Z */ @@ -643,6 +647,16 @@ MSVCP_size_t __cdecl MSVCP_basic_string_char_Pdif(String_iterator_char i1, Strin return !i1.pos ? 0 : i1.pos-i2.pos; }
+/* ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ */ +/* ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ */ +DEFINE_THISCALL_WRAPPER_RETPTR(basic_string_char_get_allocator, 4) +allocator __thiscall basic_string_char_get_allocator(const basic_string_char *this) +{ + allocator ret; + TRACE("%p\n", this); + return ret; +} + /* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z */ /* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_erase, 12) @@ -2297,6 +2311,16 @@ MSVCP_size_t __cdecl MSVCP_basic_string_wchar_Pdif(String_iterator_wchar i1, Str return !i1.pos ? 0 : i1.pos-i2.pos; }
+/* ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$allocator@_W@2@XZ */ +/* ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$allocator@_W@2@XZ */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_get_allocator, 4) +allocator __thiscall basic_string_wchar_get_allocator(const basic_string_wchar *this) +{ + allocator ret; + TRACE("%p\n", this); + return ret; +} + /* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z */ /* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_erase, 12)