Arkadiusz Hiler
a8266a9ba2
msvcirt: Implement a part of fstream.
...
This patch make it possible to play Tron 2.0.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Arkadiusz Hiler
b3428ac9d0
msvcirt: Include iostream in strstream's and stdiostream's rtti hierarchy.
...
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:25 +02:00
Arkadiusz Hiler
d25e7429cc
msvcirt: Implement _mtlock() and _mtunlock().
...
Looks like they are just cdecl wrappers around stdcall EnterCriticalSection()
and LeaveCriticalSection().
The game TRON 2.0 was crashing on the stubs. Now it makes it a bit further.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:25 +02:00
Arkadiusz Hiler
8749ae83c1
msvcirt: Be more obvious in out-of-memory situations.
...
Just like in the new ifstream, if we are out of memory it's better to fail
loudly with an obvious FIXME message than to leave user with half-initialized
object causing ephemeral issues that are hard to debug.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:41:53 +02:00
Arkadiusz Hiler
ad7fa2396e
msvcirt: Implement ifstream::setbuf().
...
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:41:49 +02:00
Arkadiusz Hiler
f4bb6abebc
msvcirt: Correct the behavior of filebuf::setbuf().
...
While implementing ifstream::setbuf() it turned out that filebuf::setbuf(),
behaves a bit different on Windows than our implementation.
It seems to reimplement streambuf::setbuf() with a very minor difference - it
doesn't ever set unbuffered to 0 and allows to change the underlying buffer as
long as the file is not opened.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:41:43 +02:00
Arkadiusz Hiler
a0faee89e0
msvcirt: Implement most of ifstream.
...
Based on semi-stubs by Gijs Vermeulen.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22616
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30014
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 14:52:55 +02:00
Rémi Bernon
e8fbc6c90b
msvcirt/tests: Fix signed integral cast warning.
...
Assign the char field separately.
Reported by MinGW GCC 10 with -Woverflow.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 11:58:49 +02:00
Jacek Caban
acc42a9c71
msvcirt: Use __ASM_USE_THISCALL_WRAPPER macro.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:50:40 +02:00
Jacek Caban
fff313f183
msvcirt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 22:03:16 +02:00
Jacek Caban
22315440fc
include: Use long type for __msvcrt_long when possible.
...
Based on patch by Chip Davis.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:21:53 +02:00
Jacek Caban
14df0183b0
makefiles: Explicitly import msvcrt in modules that need specific crt version.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:32:04 +01:00
Alexandre Julliard
b445b7fe7b
msvcirt/tests: Fix some signed char issues.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 12:32:34 +01:00
Alexandre Julliard
a16ef96dc6
include/msvcrt: Add INFINITY and NAN definitions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 15:03:37 +02:00
Alexandre Julliard
0598c70608
msvcirt: Use the standard -mno-cygwin build flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard
0a79eb3608
include: Use the __thiscall attribute directly for the Mingw build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard
d4ef782db7
makefiles: Build all tests with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Alexandre Julliard
e79b0fd752
msvcirt: Rename clog variable to avoid conflict with builtin function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 16:46:41 +02:00
Michael Stefaniuc
1962674277
msvcirt/tests: Use the available ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 15:09:31 +02:00
Daniel Lehman
daf0172bd9
msvcirt/tests: Add more exception tests.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 18:59:35 +02:00
Alexandre Julliard
c28816cc37
msvcirt/tests: Silence a compiler warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-22 15:08:00 +01:00
Iván Matellanes
6d1901f885
msvcirt: Implement stdiostream constructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-23 17:31:34 +02:00
Iván Matellanes
384e74cd75
msvcirt: Add a partial implementation of class stdiostream.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-23 17:31:31 +02:00
Iván Matellanes
95018e6887
msvcirt: Implement strstream constructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-23 17:31:27 +02:00
Iván Matellanes
4df13fff82
msvcirt: Add a partial implementation of class strstream.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-23 17:31:24 +02:00
Iván Matellanes
44d52f2b72
msvcirt: Implement istrstream constructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:18 -07:00
Iván Matellanes
56c5e42109
msvcirt: Add a partial implementation of class istrstream.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:15 -07:00
Iván Matellanes
2d4e7d4050
msvcirt/tests: Add tests of ostrstream::pcount.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:11 -07:00
Iván Matellanes
96633cda3f
msvcirt: Implement ostrstream constructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:08 -07:00
Iván Matellanes
1c1df68724
msvcirt: Add a partial implementation of class ostrstream.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:06 -07:00
Iván Matellanes
611b727386
msvcirt: Don't return negative values in in_avail and out_waiting.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:03:01 -07:00
Iván Matellanes
9be41b5b6b
msvcirt: Implement ios::sync_with_stdio.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:11 +09:00
Iván Matellanes
5a2bac8d12
msvcirt: Add predefined streams.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:11 +09:00
Iván Matellanes
1978c7d716
msvcirt: Implement Iostream_init constructor.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:38 +09:00
Iván Matellanes
5981a3279b
msvcirt: Add a partial implementation of class Iostream_init.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:37 +09:00
Michael Stefaniuc
ac2ad35d4d
msvcirt/tests: Simplify generating a pointer to address 0x1.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-16 22:38:28 +09:00
Nikolay Sivov
67d7690e53
msvcirt/tests: Fix indentation warnings on GCC 6.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:31:15 +09:00
Iván Matellanes
4b11bd8083
msvcirt: Simplify some constructors and assignments.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:20:57 +09:00
Iván Matellanes
346a64c089
msvcirt: Implement iostream assignment operators.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:20:54 +09:00
Iván Matellanes
7de6bca9d2
msvcirt: Implement iostream constructors/destructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:20:52 +09:00
Iván Matellanes
adf3763e46
msvcirt: Add stub for class iostream.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:20:50 +09:00
Iván Matellanes
b7c19e1e3e
msvcirt/tests: Add some more tests of ostream constructors.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 22:00:00 +09:00
Iván Matellanes
a29ff2caca
msvcirt: Initialize do_lock on ios copy constructor.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 22:00:00 +09:00
Iván Matellanes
281878ab1c
msvcirt/tests: Add tests of istream_withassign assignment operators.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 22:00:00 +09:00
Iván Matellanes
4b603251b2
msvcirt: Implement istream_withassign copy constructor.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:59 +09:00
Iván Matellanes
3ecb295e42
msvcirt: Add a partial implementation of class istream_withassign.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:59 +09:00
Iván Matellanes
f7b88bc545
msvcirt/tests: Add tests of ostream_withassign assignment operators.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:56 +09:00
Iván Matellanes
8d3a30c626
msvcirt: Implement ostream_withassign copy constructor.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:53 +09:00
Iván Matellanes
4f6f2eb91b
msvcirt: Add a partial implementation of class ostream_withassign.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:50 +09:00
Iván Matellanes
4c17eda4a2
msvcirt: Implement istream::operator>> for streambufs.
...
Signed-off-by: Iván Matellanes <matellanesivan@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:16 -05:00