Commit Graph

267 Commits

Author SHA1 Message Date
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 b34b7e171e msvcrt: Copy wcsrchr implementation from ntdll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:48 +02:00
Piotr Caban 5d9d0b8465 msvcrt: Copy wcschr implementation from ntdll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:45 +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 cf580265e3 msvcrt: Copy wcscpy implementation from ntdll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:39 +02:00
Piotr Caban a88d75f4f6 msvcrt: Copy wcslen implementation from ntdll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:35 +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 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 55c1a16259 msvcrt: Don't use toupperW in _towupper_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 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 7d2fafc0f8 msvcrt: Don't use tolowerW in _towlower_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 a2a3537200 msvcrt: Don't use isxdigitW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban da164d19e8 msvcrt: Don't use isupperW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban ab678ee097 msvcrt: Don't use ispunctW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban f6576c76d9 msvcrt: Don't use isprintW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban badc282cf7 msvcrt: Don't use islowerW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban 9254edc30d msvcrt: Don't use isgraphW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban b2e235a8e8 msvcrt: Don't use isdigitW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban f054370bc6 msvcrt: Don't use iscntrlW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban 9dbf289cb8 msvcrt: Don't use isalphaW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban 4e8c90600c msvcrt: Don't use isalnumW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban bbf20dbb88 msvcrt: Don't use isspaceW.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban 8d2a2c9423 msvcrt: Use _iswctype_l in _iswspace_l function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban ae9c385e13 msvcrt: Don't use strstrW in wcsstr.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Piotr Caban fb071ba01f msvcrt: Don't use strncmpiW in _wcsnicmp_l.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:30 +02:00
Piotr Caban 97095766ab msvcrt: Don't use strncmpiW in _wcsnicoll_l.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:24 +02:00
Piotr Caban f20f4dee00 msvcrt: Don't use strncmpW in wcsncmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:15 +02:00
Piotr Caban 1ca971a248 msvcrt: Don't use strcmpiW in _wcsicmp_l.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:10 +02:00
Piotr Caban 8fd5ef68cc msvcrt: Don't use strcmpiW in _wcsicoll_l.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:32:02 +02:00
Piotr Caban 841fbd5b14 msvcrt: Don't use strcmpW in wcscmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:31:55 +02:00
Piotr Caban e20756e9b8 msvcrt: Use proper flags instead of characters for printf flags.
Port 1a43c5de71 to msvcrt.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 18:27:59 +02:00
Jacek Caban 37cb6cc757 ucrtbase: Use MSVCRT prefix for __stdio_common_vsprintf implementation.
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-05-21 20:25:50 +02:00
Martin Storsjo 2819fea352 ucrtbase: Add tests and fix more zero length __stdio_common_vs[w]printf cases.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 17:40:08 +02:00
Jeff Smith 89ca556ac5 msvcrt: Stop forwarding iswctype functions to ntdll.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 21:00:03 +01:00
Daniel Lehman e9737e1738 msvcrt: Set return value on all paths in wcstombs_s_l.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:29:14 +01:00
Daniel Lehman 4178972487 msvcrt: Don't set error in wcstombs_s_l if no characters to convert.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:29:04 +01:00
Daniel Lehman 31c57484ab ucrtbase: Use given context in wcstok.
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-01-24 19:53:09 +01: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 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 a6734f549f msvcrt: Implement wcstod without using 'long double'.
Fix for the wide equivalent of strtod (see commit
c22af971c2).

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-20 10:33:46 +01:00
Alexandre Julliard 7638682433 msvcrt: Fix wcstoul() to behave identically to strtoul().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48261
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:15 +01:00
Alexandre Julliard ad96d9195e msvcrt: Fix range check in wsctoul().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Felix Hädicke 90e520b418 msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
memcpy() must not be used here, because results are undefined if the
memory areas overlap. This can cause problems, particularly if
particular compiler optimisations are enabled.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47918
Signed-off-by: Felix Hädicke <felixhaedicke@web.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 12:30:50 +02:00
Piotr Caban a57d67b9bc msvcrt: Add wcrtomb_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Dmitry Timoshkov 9ade30d0ce msvcrt: Fix handling of dst == src in wcscpy_s.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:43:37 +02:00
Alexandre Julliard 030a460934 ucrtbase: Move the vsnprintf() wrapper function to the ucrtbase import library.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47250
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Gijs Vermeulen 92ba9e7b6d msvcrt: Implement _wcsnset_s.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46902
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 19:21:57 +02:00
Daniel Lehman 2c308c9fa2 msvcrt: _towupper_l only uppercase a-z in C locale.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:46 +01:00
Daniel Lehman 6a71e7c9ee msvcrt: _towlower_l only lowercase A-Z in C locale.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:46 +01:00