Alexandre Julliard
191bdeaff3
msvcrt: Build with msvcrt headers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Chip Davis
898abfc18f
msvcrt: Share __lc_time_data between threadlocinfo instances.
...
My testing shows that unk[1] is some sort of refcount.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Chip Davis
5ec7cb5a7f
msvcrt: Share ctype tables between threadlocinfo instances.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:50 +01:00
Alexandre Julliard
c72e1b096d
msvcrt: Move math functions to a new Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
2fb08bed46
msvcrt: Use the msvcrt string functions internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
f48648aeec
msvcrt: Use the msvcrt atoi() function internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
b7fe06d0fa
msvcrt: Use the msvcrt ctype 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
b9002cc8c7
msvcrt: Add floating point classification macros.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 13:46:26 +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
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
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
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
Piotr Caban
25cc6ff62d
ucrtbase: Support _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING flag in printf.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 19:34:41 +02:00
Piotr Caban
a22adf1893
msvcrt: Don't use strtold in __STRINGTOLD_L.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
450015781e
msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
536be09b84
msvcrt: Don't use wine/unicode.h header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:51 +02:00
Piotr Caban
2c5bf68a5e
msvcrt: Copy wcscat implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:43 +02:00
Piotr Caban
068a419e42
msvcrt: Don't use get_char_typeW in _iswctype_l.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:30 +02:00
Piotr Caban
986aa52fc4
msvcrt: Add _ismbcpunct_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
1750a6969b
msvcrt: Add _ismbcprint_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
95b3ff9f74
msvcrt: Add _ismbcupper_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
1ad2094284
msvcrt: Add _ismbclower_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
5f294e34d6
msvcrt: Add _ismbcalpha_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
71cd3d5e8c
msvcrt: Add _ismbcgraph_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
fd74aeb726
msvcrt: Add _ismbcdigit_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
19c05e60a3
msvcrt: Add _ismbcalnum_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
a81f55093e
msvcrt: Don't use toupperW.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
bc47bff4a8
msvcrt: Don't use tolowerW.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
0b35b77915
msvcrt: Don't use tolowerW in _tolower_l.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Piotr Caban
54b2a10659
msvcrt: Use _wcsnicmp instead of strnicmpW.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:38 +02:00
Piotr Caban
c6f19b121e
msvcrt: Don't use strncmpW in msvcrt_get_flags.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:20 +02:00
Zebediah Figura
3533605293
msvcrt: Print assertion failure messages to stderr.
...
This matches Windows behaviour. In particular, redirecting stderr with freopen()
followed by assert(0) will print the failure message to the relevant file.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 09:12:40 +02:00
Piotr Caban
bfa1e3ef8f
msvcrt: Use internal sprintf implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Piotr Caban
9b94e4c805
ucrtbase: Change ptd fields offsets to match with native.
...
Makes it possible to use native vcruntime140_1.dll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:31:51 +02:00
Erich E. Hoover
66c9c358ae
msvcrt: Use parse_double for wcstod.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-02 17:43:20 +01:00
Erich E. Hoover
b12d6d405a
msvcrt: Rework strtod_helper to be reusable.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-02 17:43:12 +01:00
Piotr Caban
5034d109e0
msvcrt: Improve strtod precision.
...
This fixes strtod precision regression. It also removes floating
point operations.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-30 21:11:45 +01:00
Erich E. Hoover
27b9a420ea
msvcrt: Fix [str|wcs]tod result being compared against FLT_MAX.
...
Also a more straightforward way of fixing the tests on i386 Linux.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48324
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-23 20:13:23 +01:00
Erich E. Hoover
c22af971c2
msvcrt: Implement strtod without using 'long double'.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48160
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-19 16:20:39 +01:00
Jeff Smith
f174eb072d
msvcrt: Create global C locale __lc_time_data struct.
...
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:49:29 +01:00
Piotr Caban
c4b41fd4f1
msvcrt: Mark __lc_time_data strings const.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:32 +01:00
Piotr Caban
e2423823fc
msvcrt: Use isspace_l in string to number conversion functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-22 18:02:51 +01:00
Piotr Caban
c37268f0aa
msvcrt: Use correct __lc_time_data fields in strftime functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 09:08:38 +01:00
Alexandre Julliard
97425bd963
msvcrt: Reimplement strcmp/strncmp to get consistent return values.
...
The system functions may not always return -1 or 1.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 09:56:03 +01:00
Piotr Caban
df60573653
msvcrt: Don't use strstr from C-library.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:33 +01:00
Piotr Caban
d3675fd611
msvcrt: Return time since CRT initialization in clock function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 14:38:13 +02:00
Martin Storsjo
56e6ce93b8
msvcrt: Fix the layout of threadlocaleinfostruct for ucrt.
...
In ucrt, this struct has a different layout, with only three fields
exposed in headers (which can be used by inline functions).
This fixes use of some ctype.h functions like e.g. _isdigit_l
from applications that use ucrt (both with MSVC and mingw-w64).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:16:48 +02:00
Alexandre Julliard
1f7489d493
crtdll: Share source with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 21:13:43 +01:00