Module: wine Branch: master Commit: 8cca58251bb175ad380ac1318f1083c0c33ca59b URL: http://source.winehq.org/git/wine.git/?a=commit;h=8cca58251bb175ad380ac1318f...
Author: Piotr Caban piotr@codeweavers.com Date: Fri Oct 14 15:01:50 2011 +0200
msvcp90: Added _String_val class implementation.
---
dlls/msvcp90/msvcp90.spec | 48 ++++++++++++++++++++++---------------------- dlls/msvcp90/string.c | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 24 deletions(-)
diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 11271cf..99bd7e0 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -518,18 +518,18 @@ @ stub -arch=win64 ??0?$_Mpunct@_W@std@@QEAA@AEBV_Locinfo@1@_K_N2@Z @ stub -arch=win32 ??0?$_Mpunct@_W@std@@QAE@I_N@Z @ stub -arch=win64 ??0?$_Mpunct@_W@std@@QEAA@_K_N@Z -@ stub -arch=win32 ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z -@ stub -arch=win64 ??0?$_String_val@DV?$allocator@D@std@@@std@@IEAA@V?$allocator@D@1@@Z -@ stub -arch=win32 ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0?$_String_val@DV?$allocator@D@std@@@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0?$_String_val@GV?$allocator@G@std@@@std@@IAE@V?$allocator@G@1@@Z -@ stub -arch=win64 ??0?$_String_val@GV?$allocator@G@std@@@std@@IEAA@V?$allocator@G@1@@Z -@ stub -arch=win32 ??0?$_String_val@GV?$allocator@G@std@@@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0?$_String_val@GV?$allocator@G@std@@@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IAE@V?$allocator@_W@1@@Z -@ stub -arch=win64 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IEAA@V?$allocator@_W@1@@Z -@ stub -arch=win32 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QEAA@AEBV01@@Z +@ thiscall -arch=win32 ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@DV?$allocator@D@std@@@std@@IEAA@V?$allocator@D@1@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@DV?$allocator@D@std@@@std@@QEAA@AEBV01@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??0?$_String_val@GV?$allocator@G@std@@@std@@IAE@V?$allocator@G@1@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@GV?$allocator@G@std@@@std@@IEAA@V?$allocator@G@1@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??0?$_String_val@GV?$allocator@G@std@@@std@@QAE@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@GV?$allocator@G@std@@@std@@QEAA@AEBV01@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IAE@V?$allocator@_W@1@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IEAA@V?$allocator@_W@1@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QAE@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QEAA@AEBV01@@Z(ptr ptr) _String_val_null_ctor @ thiscall -arch=win32 ??0?$allocator@D@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_allocator_char_copy_ctor @ cdecl -arch=win64 ??0?$allocator@D@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_allocator_char_copy_ctor @ thiscall -arch=win32 ??0?$allocator@D@std@@QAE@XZ(ptr) MSVCP_allocator_char_ctor @@ -1366,12 +1366,12 @@ @ stub -arch=win64 ??4?$_Iosb@H@std@@QEAAAEAV01@AEBV01@@Z @ stub -arch=win32 ??4?$_Locbase@H@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4?$_Locbase@H@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4?$_String_val@DV?$allocator@D@std@@@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4?$_String_val@GV?$allocator@G@std@@@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4?$_String_val@GV?$allocator@G@std@@@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAAEAV01@AEBV01@@Z +@ thiscall -arch=win32 ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??4?$_String_val@DV?$allocator@D@std@@@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??4?$_String_val@GV?$allocator@G@std@@@std@@QAEAAV01@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??4?$_String_val@GV?$allocator@G@std@@@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) _String_val_null_ctor +@ thiscall -arch=win32 ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QAEAAV01@ABV01@@Z(ptr ptr) _String_val_null_ctor +@ cdecl -arch=win64 ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) _String_val_null_ctor @ thiscall -arch=win32 ??4?$allocator@D@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_allocator_char_assign @ cdecl -arch=win64 ??4?$allocator@D@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) MSVCP_allocator_char_assign @ thiscall -arch=win32 ??4?$allocator@G@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_allocator_short_assign @@ -1955,12 +1955,12 @@ @ stub -arch=win64 ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ @ stub -arch=win32 ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ @ stub -arch=win64 ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ -@ stub -arch=win32 ??_F?$_String_val@DV?$allocator@D@std@@@std@@QAEXXZ -@ stub -arch=win64 ??_F?$_String_val@DV?$allocator@D@std@@@std@@QEAAXXZ -@ stub -arch=win32 ??_F?$_String_val@GV?$allocator@G@std@@@std@@QAEXXZ -@ stub -arch=win64 ??_F?$_String_val@GV?$allocator@G@std@@@std@@QEAAXXZ -@ stub -arch=win32 ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QAEXXZ -@ stub -arch=win64 ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAXXZ +@ thiscall -arch=win32 ??_F?$_String_val@DV?$allocator@D@std@@@std@@QAEXXZ(ptr) _String_val_ctor +@ cdecl -arch=win64 ??_F?$_String_val@DV?$allocator@D@std@@@std@@QEAAXXZ(ptr) _String_val_ctor +@ thiscall -arch=win32 ??_F?$_String_val@GV?$allocator@G@std@@@std@@QAEXXZ(ptr) _String_val_ctor +@ cdecl -arch=win64 ??_F?$_String_val@GV?$allocator@G@std@@@std@@QEAAXXZ(ptr) _String_val_ctor +@ thiscall -arch=win32 ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QAEXXZ(ptr) _String_val_ctor +@ cdecl -arch=win64 ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAXXZ(ptr) _String_val_ctor @ stub -arch=win32 ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ @ stub -arch=win64 ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ @ stub -arch=win32 ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index ab319c0..1971d71 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -3418,3 +3418,43 @@ MSVCP_size_t __cdecl MSVCP_basic_string_wchar_Pdif(String_iterator_wchar i1, Str
return !i1.pos ? 0 : i1.pos-i2.pos; } + +/* _String_val class */ +/* ??_F?$_String_val@DV?$allocator@D@std@@@std@@QAEXXZ */ +/* ??_F?$_String_val@DV?$allocator@D@std@@@std@@QEAAXXZ */ +/* ??_F?$_String_val@GV?$allocator@G@std@@@std@@QAEXXZ */ +/* ??_F?$_String_val@GV?$allocator@G@std@@@std@@QEAAXXZ */ +/* ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QAEXXZ */ +/* ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAXXZ */ +DEFINE_THISCALL_WRAPPER(_String_val_ctor, 4) +void* __thiscall _String_val_ctor(void *this) +{ + TRACE("%p\n", this); + return this; +} + +/* ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z */ +/* ??0?$_String_val@DV?$allocator@D@std@@@std@@IEAA@V?$allocator@D@1@@Z */ +/* ??0?$_String_val@GV?$allocator@G@std@@@std@@IAE@V?$allocator@G@1@@Z */ +/* ??0?$_String_val@GV?$allocator@G@std@@@std@@IEAA@V?$allocator@G@1@@Z */ +/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IAE@V?$allocator@_W@1@@Z */ +/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IEAA@V?$allocator@_W@1@@Z */ +/* ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z */ +/* ??0?$_String_val@DV?$allocator@D@std@@@std@@QEAA@AEBV01@@Z */ +/* ??0?$_String_val@GV?$allocator@G@std@@@std@@QAE@ABV01@@Z */ +/* ??0?$_String_val@GV?$allocator@G@std@@@std@@QEAA@AEBV01@@Z */ +/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QAE@ABV01@@Z */ +/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QEAA@AEBV01@@Z */ +/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z */ +/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QEAAAEAV01@AEBV01@@Z */ +/* ??4?$_String_val@GV?$allocator@G@std@@@std@@QAEAAV01@ABV01@@Z */ +/* ??4?$_String_val@GV?$allocator@G@std@@@std@@QEAAAEAV01@AEBV01@@Z */ +/* ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QAEAAV01@ABV01@@Z */ +/* ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAAEAV01@AEBV01@@Z */ +/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z */ +DEFINE_THISCALL_WRAPPER(_String_val_null_ctor, 8) +void* __thiscall _String_val_null_ctor(void *this, const void *misc) +{ + TRACE("%p %p\n", this, misc); + return this; +}