Piotr Caban : msvcp60: Added basic_ofstream::open implementation.
Module: wine Branch: master Commit: 4a7420296b13d882ff0ff1e4cc4d81aaca6a2b7d URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a7420296b13d882ff0ff1e4cc... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Oct 5 14:55:01 2012 +0200 msvcp60: Added basic_ofstream::open implementation. --- dlls/msvcp60/ios.c | 46 +++++++++++++++++++++++++++++++++++++++++++++ dlls/msvcp60/msvcp60.spec | 16 +++++++------- 2 files changed, 54 insertions(+), 8 deletions(-) diff --git a/dlls/msvcp60/ios.c b/dlls/msvcp60/ios.c index a169851..6840b78 100644 --- a/dlls/msvcp60/ios.c +++ b/dlls/msvcp60/ios.c @@ -9452,6 +9452,29 @@ MSVCP_bool __thiscall basic_ofstream_char_is_open(const basic_ofstream_char *thi return basic_filebuf_char_is_open(&this->filebuf); } +/* ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDH(a)Z */ +/* ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDH(a)Z */ +DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open, 12) +void __thiscall basic_ofstream_char_open(basic_ofstream_char *this, + const char *name, int mode) +{ + TRACE("(%p %s %d)\n", this, name, mode); + + if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) { + basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base); + basic_ios_char_setstate(basic_ios, IOSTATE_failbit); + } +} + +/* ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDF(a)Z */ +/* ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDF(a)Z */ +DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old, 12) +void __thiscall basic_ofstream_char_open_old(basic_ofstream_char *this, + const char *name, short mode) +{ + basic_ofstream_char_open(this, name, mode); +} + /* ?rdbuf@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QBEPAV?$basic_filebuf(a)DU?$char_traits(a)D@std@@@2(a)XZ */ /* ?rdbuf@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEBAPEAV?$basic_filebuf(a)DU?$char_traits(a)D@std@@@2(a)XZ */ DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf, 4) @@ -9580,6 +9603,29 @@ MSVCP_bool __thiscall basic_ofstream_wchar_is_open(const basic_ofstream_wchar *t return basic_filebuf_wchar_is_open(&this->filebuf); } +/* ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDH(a)Z */ +/* ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDH(a)Z */ +DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open, 12) +void __thiscall basic_ofstream_wchar_open(basic_ofstream_wchar *this, + const char *name, int mode) +{ + TRACE("(%p %s %d)\n", this, name, mode); + + if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) { + basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); + basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); + } +} + +/* ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDF(a)Z */ +/* ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDF(a)Z */ +DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old, 12) +void __thiscall basic_ofstream_wchar_open_old(basic_ofstream_wchar *this, + const char *name, int mode) +{ + basic_ofstream_wchar_open(this, name, mode); +} + /* ?rdbuf@?$basic_ofstream(a)_WU?$char_traits(a)_W@std@@@std@@QBEPAV?$basic_filebuf(a)_WU?$char_traits(a)_W@std@@@2(a)XZ */ /* ?rdbuf@?$basic_ofstream(a)_WU?$char_traits(a)_W@std@@@std@@QEBAPEAV?$basic_filebuf(a)_WU?$char_traits(a)_W@std@@@2(a)XZ */ /* ?rdbuf@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QBEPAV?$basic_filebuf(a)GU?$char_traits(a)G@std@@@2(a)XZ */ diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec index 97e9458..be07389 100644 --- a/dlls/msvcp60/msvcp60.spec +++ b/dlls/msvcp60/msvcp60.spec @@ -3522,14 +3522,14 @@ @ cdecl -arch=win64 ?open@?$basic_ifstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDF(a)Z(ptr str long) basic_ifstream_wchar_open_old @ thiscall -arch=win32 ?open@?$basic_ifstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDH(a)Z(ptr str long) basic_ifstream_wchar_open @ cdecl -arch=win64 ?open@?$basic_ifstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDH(a)Z(ptr str long) basic_ifstream_wchar_open -@ stub -arch=win32 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDF(a)Z -@ stub -arch=win64 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDF(a)Z -@ stub -arch=win32 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDH(a)Z -@ stub -arch=win64 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDH(a)Z -@ stub -arch=win32 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDF(a)Z -@ stub -arch=win64 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDF(a)Z -@ stub -arch=win32 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDH(a)Z -@ stub -arch=win64 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDH(a)Z +@ thiscall -arch=win32 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDF(a)Z(ptr str long) basic_ofstream_char_open_old +@ cdecl -arch=win64 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDF(a)Z(ptr str long) basic_ofstream_char_open_old +@ thiscall -arch=win32 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAEXPBDH(a)Z(ptr str long) basic_ofstream_char_open +@ cdecl -arch=win64 ?open@?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QEAAXPEBDH(a)Z(ptr str long) basic_ofstream_char_open +@ thiscall -arch=win32 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDF(a)Z(ptr str long) basic_ofstream_wchar_open_old +@ cdecl -arch=win64 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDF(a)Z(ptr str long) basic_ofstream_wchar_open_old +@ thiscall -arch=win32 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QAEXPBDH(a)Z(ptr str long) basic_ofstream_wchar_open +@ cdecl -arch=win64 ?open@?$basic_ofstream(a)GU?$char_traits(a)G@std@@@std@@QEAAXPEBDH(a)Z(ptr str long) basic_ofstream_wchar_open @ stub -arch=win32 ?open@?$messages(a)D@std@@QBEHABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)ABVlocale@2@@Z @ stub -arch=win64 ?open@?$messages(a)D@std@@QEBAHAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)AEBVlocale@2@@Z @ stub -arch=win32 ?open@?$messages(a)G@std@@QBEHABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)ABVlocale@2@@Z
participants (1)
-
Alexandre Julliard