Alexandre Julliard
871d9863bc
msvcrt: Use the msvcrt allocation functions internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
1be5e83859
msvcrt: Use the msvcrt math functions internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
1f27361894
msvcrt: Avoid long double type in $I10_OUTPUT().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 13:46:26 +01:00
Alexandre Julliard
b9002cc8c7
msvcrt: Add floating point classification macros.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 13:46:26 +01:00
Alexandre Julliard
9fa7b779f8
msvcrt: Use the global musl copyright notice.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 13:46:26 +01:00
Alexandre Julliard
48028c64ea
msvcrt: Import ilogb() from musl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 09:59:54 +01:00
Alexandre Julliard
44e122e04e
msvcrt: Import fabs() from musl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 09:58:19 +01:00
Alexandre Julliard
b1bc99f025
msvcrt: Import _copysign() from musl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 09:57:52 +01:00
Alexandre Julliard
dbda71f74d
msvcrt: Reimplement _chgsign().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
4619140b1c
msvcrt: Reimplement _dsign().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
d6476e0097
msvcrt: Reimplement _isnan().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
9f088d019b
msvcrt: Reimplement _finite().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
fd51f229f6
msvcrt: Reimplement _fpclass().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
23008a0f27
msvcrt: Reimplement _dclass() using musl code.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Piotr Caban
e460b37a25
ucrtbase: Add support for utf8 codepage in setlocale.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Rémi Bernon
35886486d4
msvcrt: Pass temporary locale to MSVCRT__towupper_l.
...
When not provided, instead of calling get_locinfo on every character.
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-11-10 17:19:44 +01:00
Rémi Bernon
0a2635611a
msvcrt: Pass temporary locale to MSVCRT__towlower_l.
...
When not provided, instead of calling get_locinfo on every character.
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-11-10 17:19:44 +01:00
Rémi Bernon
faf92fdedb
msvcrt: Introduce noalloc current locale lookup helpers.
...
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-11-10 17:19:44 +01:00
Rémi Bernon
a24ad51e3f
msvcrt: Make locale and thread helper functions CDECL.
...
This prevent callers from having to save SSE registers to the stack.
It is for instance the case in MSVCRT__towlower_l, which is called on
every character by MSVCRT__wcsicmp_l.
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-11-10 17:19:44 +01:00
Daniel Lehman
a29f606e08
msvcr110: Add _Context::_CurrentContext.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 14:53:34 +01:00
Will Mainio
e0812be876
msvcrt/tests: Add scanf tests for dashes in scanset.
...
Signed-off-by: Will Mainio <will.mainio@fastmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:06:52 +01:00
Will Mainio
c38102b9b4
msvcrt: Fix scanf with dashes in scanset.
...
Signed-off-by: Will Mainio <will.mainio@fastmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:06:52 +01:00
Piotr Caban
5fcc377168
ucrtbase: Support UTF8 codepage in wctomb.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:19:04 +02:00
Piotr Caban
69b701a4a0
ucrtbase: Support UTF8 codepage in _wctomb_s_l.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:59 +02:00
Piotr Caban
6180c2fc83
ucrtbase: Support UTF8 codepage in _wcstombs_l.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50025
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:52 +02:00
Nikolay Sivov
d29f424416
msvcrt: Correct spec entries for _wcstod_l().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Piotr Caban
8468a3ed77
msvcrt: Terminate on noexcept function trying to propagate exception (x86_64).
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 10:55:13 +02:00
Piotr Caban
26c1f8fb07
msvcrt: Terminate on noexcept function trying to propagate exception (i386).
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 10:55:08 +02:00
Martin Storsjo
0e66993507
msvcrt: Hook up __C_specific_handler for arm64.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:02:57 +02:00
Paul Gofman
ebe3fe536c
msvcrt: Implement _mbbtype_l().
...
Fixes Midnight Castle Succubus.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:44:51 +02:00
Paul Gofman
12106c214b
msvcrt: Implement _mbscmp_l().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:44:47 +02:00
Paul Gofman
082de781f0
msvcrt: Implement _mbsnextc_l().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:44:44 +02:00
Piotr Caban
155e2b2c3e
msvcrt: Fix console detection in _write.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 22:08:12 +02:00
Paul Gofman
e6a42874a2
msvcrt/tests: Test .{O|A}CP locale string.
...
Used by Marvel's Avengers.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 22:07:50 +02:00
Piotr Caban
dc11755390
msvcrt: Use default user locale when only codepage is passed to setlocale.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 22:07:43 +02:00
Gijs Vermeulen
390b885c74
msvcrt: Add _snprintf_s_l.
...
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 21:09:58 +02:00
Gijs Vermeulen
6a81e9a436
msvcrt: Fix _snprintf_l function signature.
...
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 21:09:58 +02:00
Gijs Vermeulen
b4ab5d3acc
msvcrt: Add _s[w|n]printf_c[_l].
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49765
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 21:09:58 +02:00
Piotr Caban
68ca61a555
msvcrt: Fix count parameter type in printf functions family.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 21:09:58 +02:00
Piotr Caban
8b7eedc180
msvcrt: Fix _vs{w,n}printf_c function when terminating character doesn't fit into buffer.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Piotr Caban
427e2bb609
msvcrt: Fix buffer overflow in _write function.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49770
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Myah Caron
1bb193238f
msvcr120: Add imaxabs.
...
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 19:42:40 +02:00
Paul Gofman
f65fb09dff
msvcrt: Handle rethrowing from nested try blocks on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:46 +02:00
Fabian Maurer
9a9319b058
msvcrt/math: In _fcvt/_fcvt_s handle locale decimal separator properly.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49730
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Piotr Caban
dd90fdda0e
msvcrt: Optimize memmove implementation.
...
Based on Torbjorn Granlund code from Glibc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49663
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:39 +02:00
Piotr Caban
cb7b23a3f0
msvcrt: Fix acosf implementation when returning Pi or Pi/2.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49718
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:42:23 +02:00
Daniel Lehman
5458eea5b3
msvcrt/tests: Add tests for SpecialCasing.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:36:14 +02:00
Martin Storsjo
342c5da7c1
configure, msvcrt: Check for the finite() function just like finitef().
...
If missing, fall back on the C99 isfinite() macro, just like
the existing finitef() fallback.
The finite() function is deprecated in macOS 10.9 and is
removed (from the SDK) since macOS 11.0.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Piotr Caban
8cbbb4f394
msvcrt: Import atan from musl.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 22:12:29 +02:00
Piotr Caban
18fa9cf624
msvcrt: Import atanf from musl.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 22:12:29 +02:00