Module: wine Branch: master Commit: 8f5b4123abc512450b97513bd92720df325ee1aa URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f5b4123abc512450b97513bd9...
Author: Piotr Caban piotr@codeweavers.com Date: Fri Oct 5 14:55:16 2012 +0200
msvcp60: Added basic_fstream::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 6840b78..7c1c202 100644 --- a/dlls/msvcp60/ios.c +++ b/dlls/msvcp60/ios.c @@ -10027,6 +10027,29 @@ MSVCP_bool __thiscall basic_fstream_char_is_open(const basic_fstream_char *this) return basic_filebuf_char_is_open(&this->filebuf); }
+/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z */ +/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z */ +DEFINE_THISCALL_WRAPPER(basic_fstream_char_open, 12) +void __thiscall basic_fstream_char_open(basic_fstream_char *this, + const char *name, int mode) +{ + TRACE("(%p %s %d)\n", this, name, mode); + + if(!basic_filebuf_char_open(&this->filebuf, name, mode, _SH_DENYNO)) { + basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); + basic_ios_char_setstate(basic_ios, IOSTATE_failbit); + } +} + +/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z */ +/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z */ +DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old, 12) +void __thiscall basic_fstream_char_open_old(basic_fstream_char *this, + const char *name, int mode) +{ + basic_fstream_char_open(this, name, mode); +} + /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf, 4) @@ -10156,6 +10179,29 @@ MSVCP_bool __thiscall basic_fstream_wchar_is_open(const basic_fstream_wchar *thi return basic_filebuf_wchar_is_open(&this->filebuf); }
+/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z */ +/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z */ +DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open, 12) +void __thiscall basic_fstream_wchar_open(basic_fstream_wchar *this, + const char *name, int mode) +{ + TRACE("(%p %s %d)\n", this, name, mode); + + if(!basic_filebuf_wchar_open(&this->filebuf, name, mode, _SH_DENYNO)) { + basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); + basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); + } +} + +/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z */ +/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z */ +DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old, 12) +void __thiscall basic_fstream_wchar_open_old(basic_fstream_wchar *this, + const char *name, int mode) +{ + basic_fstream_wchar_open(this, name, mode); +} + /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec index be07389..94bd7ec 100644 --- a/dlls/msvcp60/msvcp60.spec +++ b/dlls/msvcp60/msvcp60.spec @@ -3506,14 +3506,14 @@ @ cdecl -arch=win64 ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z(ptr str long) basic_filebuf_wchar_open_mode_old @ thiscall -arch=win32 ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z(ptr str long) basic_filebuf_wchar_open_mode @ cdecl -arch=win64 ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z(ptr str long) basic_filebuf_wchar_open_mode -@ stub -arch=win32 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z -@ stub -arch=win64 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z -@ stub -arch=win32 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z -@ stub -arch=win64 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z -@ stub -arch=win32 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z -@ stub -arch=win64 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z -@ stub -arch=win32 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z -@ stub -arch=win64 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z +@ thiscall -arch=win32 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z(ptr str long) basic_fstream_char_open_old +@ cdecl -arch=win64 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z(ptr str long) basic_fstream_char_open_old +@ thiscall -arch=win32 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z(ptr str long) basic_fstream_char_open +@ cdecl -arch=win64 ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z(ptr str long) basic_fstream_char_open +@ thiscall -arch=win32 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z(ptr str long) basic_fstream_wchar_open_old +@ cdecl -arch=win64 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z(ptr str long) basic_fstream_wchar_open_old +@ thiscall -arch=win32 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z(ptr str long) basic_fstream_wchar_open +@ cdecl -arch=win64 ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z(ptr str long) basic_fstream_wchar_open @ thiscall -arch=win32 ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z(ptr str long) basic_ifstream_char_open_old @ cdecl -arch=win64 ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z(ptr str long) basic_ifstream_char_open_old @ thiscall -arch=win32 ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z(ptr str long) basic_ifstream_char_open