Module: wine Branch: master Commit: b0211b5b18b55e256394cea01c4253d907f3328a URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0211b5b18b55e256394cea01c... Author: Piotr Caban <piotr(a)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(a)_WV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@2(a)V32@0AEAVios_base(a)2@AEAHAEA_K(a)Z @ stub -arch=win32 ?get@?$num_get(a)_WV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@2(a)V32@0AAVios_base(a)2@AAHAA_N(a)Z @ stub -arch=win64 ?get@?$num_get(a)_WV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@2(a)V32@0AEAVios_base(a)2@AEAHAEA_N(a)Z -@ stub -arch=win32 ?get_allocator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBE?AV?$allocator(a)D@2(a)XZ -@ stub -arch=win64 ?get_allocator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA?AV?$allocator(a)D@2(a)XZ +@ thiscall -arch=win32 ?get_allocator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBE?AV?$allocator(a)D@2(a)XZ(ptr) basic_string_char_get_allocator +@ cdecl -arch=win64 ?get_allocator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA?AV?$allocator(a)D@2(a)XZ(ptr) basic_string_char_get_allocator @ stub -arch=win32 ?get_allocator@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QBE?AV?$allocator(a)G@2(a)XZ @ stub -arch=win64 ?get_allocator@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QEBA?AV?$allocator(a)G@2(a)XZ -@ stub -arch=win32 ?get_allocator@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBE?AV?$allocator(a)_W@2(a)XZ -@ stub -arch=win64 ?get_allocator@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA?AV?$allocator(a)_W@2(a)XZ +@ thiscall -arch=win32 ?get_allocator@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBE?AV?$allocator(a)_W@2(a)XZ(ptr) basic_string_wchar_get_allocator +@ cdecl -arch=win64 ?get_allocator@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA?AV?$allocator(a)_W@2(a)XZ(ptr) basic_string_wchar_get_allocator @ stub -arch=win32 ?get_date@?$time_get(a)DV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@2(a)V32@0AAVios_base(a)2@AAHPAUtm@@@Z @ stub -arch=win64 ?get_date@?$time_get(a)DV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@2(a)V32@0AEAVios_base(a)2@AEAHPEAUtm@@@Z @ stub -arch=win32 ?get_date@?$time_get(a)GV?$istreambuf_iterator(a)GU?$char_traits(a)G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator(a)GU?$char_traits(a)G@std@@@2(a)V32@0AAVios_base(a)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(a)D@std@@SAXAADABD(a)Z */ /* ?assign@?$char_traits(a)D@std@@SAXAEADAEBD(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBE?AV?$allocator(a)D@2(a)XZ */ +/* ?get_allocator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA?AV?$allocator(a)D@2(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEAAV12(a)II@Z */ /* ?erase@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAAAEAV12(a)_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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBE?AV?$allocator(a)_W@2(a)XZ */ +/* ?get_allocator@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA?AV?$allocator(a)_W@2(a)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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAEAAV12(a)II@Z */ /* ?erase@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAAAEAV12(a)_K0@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_erase, 12)