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
Piotr Caban
381e549b81
msvcrt: Add _vscprintf_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Nikolay Sivov
311a132090
msvcrt: Add _iswxdigit_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>
2018-11-16 16:33:34 +01:00
Nikolay Sivov
e29fbaeca8
msvcrt: Add _iswprint_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>
2018-11-16 16:33:31 +01:00
Nikolay Sivov
07d5635d98
msvcrt: Add _iswcntrl_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>
2018-11-16 16:33:28 +01:00
Nikolay Sivov
3c5862102f
msvcrt: Add _iswalnum_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>
2018-11-16 16:33:25 +01:00
Nikolay Sivov
b71f1ea1c9
msvcrt: Add _iswgraph_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>
2018-11-16 16:33:22 +01:00
Nikolay Sivov
2d0e30f96f
msvcrt: Add _iswupper_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>
2018-11-15 18:10:50 +01:00
Nikolay Sivov
3eab7798ad
msvcrt: Add _iswlower_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>
2018-11-15 18:10:47 +01:00
Piotr Caban
48dbb17861
msvcrt: Don't forward wcstol to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:08 +02:00
Piotr Caban
c69de2c27c
msvcrt: Don't forward wcsrchr to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:06 +02:00
Piotr Caban
66b38682eb
msvcrt: Don't forward wcscmp to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:03 +02:00
Piotr Caban
32b94e6b2d
msvcrt: Don't forward _wcsupr to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:31:56 +02:00
Daniel Lehman
eb37e2e482
msvcrt: Don't read past end of string in _strnicoll/_wcsnicoll.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-19 17:47:53 +02:00
Daniel Lehman
368e9f39b4
msvcrt: Don't read past end of string in _strncoll/_wcsncoll.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-19 17:47:44 +02:00
Michael Stefaniuc
af4821ca81
msvcrt: Use the 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-08-15 21:01:09 +02:00
Alex Henrie
6413d96b6b
msvcrt: Don't include MSVC 7.0+ miscellaneous functions in SOs for older DLLs.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 22:47:23 +01:00
Alex Henrie
1afc433954
msvcrt: Don't include MSVC 8.0+ string functions in SOs for older DLLs.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-02 15:52:22 +01:00
Martin Storsjo
ee32799d61
ucrtbase: Always return the full string length in __stdio_common_vs[w]printf for a NULL buffer.
...
If the target is a NULL buffer (with a zero length), we should
always return the full size the format would have needed, even if
UCRTBASE_PRINTF_STANDARD_SNPRINTF_BEHAVIOUR isn't specified.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 15:42:00 +01:00
Alexandre Julliard
7726157e19
msvcrt: Use WINAPIV calling convention for variadic functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:20:02 +01:00
Gijs Vermeulen
7f9c2dabc3
msvcrt: Add vf[w]printf_p & vf[w]printf_p_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>
2017-10-16 15:26:32 +02:00
Alex Henrie
8b6eada458
ucrtbase: Add __stdio_common_vsprintf_p.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-14 01:01:02 +02:00
Alex Henrie
5074bb9a4b
msvcrt: Note that __stdio_common functions are for ucrtbase.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:38 +02:00
Daniel Lehman
111637a3c6
ucrtbase: Add _iswblank_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>
2017-04-04 14:54:23 +02:00
Daniel Lehman
bda232de94
msvcrt: Add _iswctype_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>
2017-04-04 14:54:09 +02:00
Lauri Kenttä
96a48efeea
msvcrt: Fix space-only inputs in wcstoi64.
...
wcstoi64 sets endpos past the beginning only if some digits are found.
Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 19:49:41 +01:00
Lauri Kenttä
5b6e1cf2de
msvcrt: Make wcstoi64 support various Unicode digits.
...
Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 19:49:31 +01:00
Lauri Kenttä
bdd771dfa7
msvcrt: Move WCHAR-to-int conversion to a function.
...
Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 19:48:50 +01:00
Nikolay Sivov
ff49f86fa1
ucrtbase: Added __stdio_common_vswprintf_p().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:09:18 -05:00
Nikolay Sivov
b6fd195279
ucrtbase: Added __stdio_common_vswprintf_s().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 09:08:28 -05:00
Nikolay Sivov
24291f2b6a
ucrtbase: Added __stdio_common_vsnwprintf_s().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:17 -05:00
Piotr Caban
c4ab42d88c
msvcrt: Fix C locale handling in wcstombs.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 19:20:21 +09:00
Piotr Caban
4ee316a997
msvcr120: Add wcstof implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 15:10:20 +09:00
Piotr Caban
aff5d2c1f3
msvcrt: Don't use isdigit in places where only 0-9 digits are handled.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 15:10:20 +09:00
Rafał Harabień
ad9ab7c40b
msvcr120: Implement atoll, _atoll_l, _wtoll, _wtoll_l.
...
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:25:57 +09:00
Martin Storsjo
b9d0f5d562
ucrtbase: Implement the new printf corner case behaviour.
...
Check the option flags whether the new or old legacy behaviours are
wanted.
For _MSVCR_VER < 140, don't check the option flags but hardcode them to
TRUE. (This avoids having to manually add all three flags into every
caller of pf_printf.) Mask out any other flags, to avoid other
out-of-range flags to be interpreted as the other flags (positional
params, invoke invalid param handler).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:19:12 +09:00
Martin Storsjo
1c8412d9e5
msvcrt: Refactor pf_printf to take options as flags instead of as BOOL parameter.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:18:56 +09:00
Martin Storsjo
b09aadd202
ucrtbase: Handle the swprintf style termination and return values.
...
When neither the "legacy vsprintf null termination" nor the "standard
snprintf behaviour" flags are specified, the functions return -2 when
the output string didn't fit (similar to old style msvcrt _snprintf that
returned -1), but they are null terminated (similar to the C99 snprintf
style behaviour). This is the same way as the C99 swprintf function
behaves.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:18:42 +09:00
Martin Storsjo
fcf9ec8080
ucrtbase: Add defines for the printf/scanf options constants.
...
Avoid using hardcoded magic numbers for these options.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Martin Storsjo
2a74c9a8ed
ucrtbase: Fix the function name in a comment.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Martin Storsjo
255a7fe067
ucrtbase: Implement some printf functions.
...
Not all functions are implemented (yet not all variants are
implemented in the normal msvcrt either).
The new functions are more generalized and are C99 compliant.
They take an options parameter that e.g. for the snprintf
family of functions indicate whether the truncation and return
value should be handled as before or in the standards compliant
way.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:24 +09:00
Daniel Lehman
65b8a3da47
msvcrt: Add __swprintf_l.
2015-06-01 14:43:54 +09:00
Orion Poplawski
8bf1732962
msvcrt: Bump MSVCRT_MB_LEN_MAX to 5 and use it in MSVCRT__wctomb_l for default buffer lengthSet MB_LEN_MAX to 5 to match MSVCRT_MB_LEN_MAX.
2015-02-03 14:38:40 +09:00
Piotr Caban
ccaf87b2ea
msvcrt: Add _iswpunct_l implementation.
2015-01-26 11:23:12 +01:00
Piotr Caban
ef69ad9f97
msvcrt: Add _iswspace_l implementation.
2015-01-26 11:23:08 +01:00
Piotr Caban
bd1428ef50
msvcrt: Add _vscprintf_p implementation.
2015-01-20 16:08:49 +01:00
Piotr Caban
3af24fe1f4
msvcrt: Add _wcsset_s implementation.
2014-12-23 18:59:36 +01:00
Hans Leidekker
ed79b3f9a5
msvcrt: Implement _snprintf_l.
2014-10-31 10:49:06 +09:00
Vincent Povirk
1860efaa9e
msvcrt: Implement _wcsnicmp_l.
2014-10-29 20:31:04 +09:00
Piotr Caban
b540277cc7
msvcrt: Add _wcsxfrm_l implementation.
2014-06-12 18:25:27 +02:00
Piotr Caban
28830b4b36
msvcrt: Return string in _wcslwr and _wcslwr_l.
2014-06-11 13:02:52 +02:00
Piotr Caban
31c76cae7c
msvcrt: Add _wcslwr_s_l implementation.
2014-05-24 11:01:28 +09:00
Piotr Caban
277eb98739
msvcrt: Add _wcsupr_l implementation.
2014-04-29 16:07:44 +02:00
Alexandre Julliard
0c496f0280
msvcrt: Update comments for non-exported functions.
2014-04-21 14:32:40 +02:00
Piotr Caban
beeea28a53
msvcr100: Move functions implementation to msvcrt.
2014-04-16 18:00:15 +02:00
Piotr Caban
e70bf5f8c6
msvcrt: Fix compilation errors on Mingw.
2014-04-16 18:00:01 +02:00
Piotr Caban
965d3acc6d
msvcrt: Fix wcs*coll functions behavior in C locale.
2014-01-27 14:13:27 +01:00
Alexandre Bique
33199860f1
msvcrt: Implement missing sprintf functions.
2013-12-10 13:01:22 +01:00
Alexandre Bique
09bfea117d
msvcrt: Implement _vsprintf_l.
2013-12-10 13:01:22 +01:00
Frédéric Delanoy
508365a2c1
msvcrt: Use BOOL type where appropriate.
2013-10-31 09:58:43 +01:00
Piotr Caban
26721c25f6
msvcrt: Don't forward wcsncmp to ntdll.
2013-10-01 13:10:21 +02:00
Piotr Caban
3868bf06b2
msvcrt: Add _wtoi64_l implementation.
2013-10-01 13:10:21 +02:00
Piotr Caban
b50833389e
msvcrt: Improve error handling in wcsrtombs function.
2013-09-24 18:54:37 +02:00
Piotr Caban
dadb2fdfa9
msvcrt: Add _snwprintf_s_l implementation.
2013-09-19 19:49:11 +02:00
Piotr Caban
1f1624612e
msvcrt: Don't use CDECL calling convention in MSVCRT_wcsrtombs_l (internal function).
2013-09-18 13:11:10 +02:00
Piotr Caban
882761f15d
msvcrt: Don't forward wcsstr to ntdll.
2013-09-17 16:25:54 +02:00
Piotr Caban
a89f726355
msvcrt: Don't forward wcslen to ntdll.
2013-09-17 16:25:48 +02:00
Piotr Caban
300c012372
msvcrt: Don't forward wcschr to ntdll.
2013-09-17 16:25:43 +02:00
Piotr Caban
2734ae0786
msvcrt: Don't forward _wcsnicmp to ntdll.
2013-09-12 12:59:02 +02:00
Daniel Lehman
a0d8d1e223
msvcrt: Invoke invalid_handler in _wcscpy_s.
2013-08-16 11:55:23 +02:00
Piotr Caban
a51ffcd442
msvcrt: Added _swprintf_s_l implementation.
2013-08-01 16:28:39 +02:00
Piotr Caban
679542419a
msvcrt: Add _wcstol_l implementation.
2013-07-29 15:00:26 +02:00
Piotr Caban
6457163bb2
msvcrt: Add _wctomb_s_l implementation.
2013-07-27 11:50:56 -05:00
Piotr Caban
c66d94bfd9
msvcrt: Added _wcsicmp_l implementation.
2013-06-25 18:12:12 +02:00
Jactry Zeng
5af20ef180
msvcrt: Added _wcsnicoll_l implementation.
2013-04-01 14:41:03 +02:00
Jactry Zeng
d2763e43d1
msvcrt: Added _wcsicoll_l implementation.
2013-04-01 14:40:49 +02:00
Jactry Zeng
dafa7611e9
msvcrt: Added _wcscoll_l implementation.
2013-04-01 14:40:21 +02:00
Jactry Zeng
2f425fb832
msvcrt: Added _wcsncoll and _wcsncoll_l implementation.
2013-03-29 17:52:19 +01:00
Piotr Caban
12b8c9671e
msvcrt: Update spec file with functions added in newer version of the dll.
2013-03-28 18:54:26 +01:00
Piotr Caban
8f9b0abf72
msvcrt: Added _wcstoul_l implementation.
2013-03-27 20:12:29 +01:00
Piotr Caban
9e32259457
msvcrt: Don't forward wcsncpy to ntdll.
2013-03-27 20:12:29 +01:00
Piotr Caban
975801cceb
msvcrt: Don't forward towupper and towlower to ntdll.
2013-03-27 20:12:29 +01:00
Piotr Caban
06c6773844
msvcrt: Added _wtol_l implementation.
2013-03-27 20:12:29 +01:00
Piotr Caban
5c03a35f7a
msvcrt: Don't forward _wtoi to ntdll.
2013-03-27 20:12:29 +01:00
Piotr Caban
0ffc970aa4
msvcrt: Don't forward _wcsicmp to ntdll.
2013-03-27 20:12:29 +01:00
Akihiro Sagawa
0010ee021a
msvcrt: Fix incorrect casts in _wcstoi64_l and _wcstoui64_l.
2013-03-11 10:41:09 +01:00
Piotr Caban
1f784a1001
msvcrt: Use CompareString in wcscoll functions.
2012-12-18 12:38:48 +01:00
Andrew Talbot
4c191378e9
msvcrt: Indentation fix.
2012-12-18 12:35:14 +01:00
Piotr Caban
3acb238f15
msvcrt: Added _wtoi_l implementation.
2012-12-12 12:00:41 +01:00
Piotr Caban
c0ce611ebd
msvcrt: Added wcrtomb implementation.
2012-11-30 11:43:03 +01:00
Piotr Caban
505e5a162f
msvcrt: Improved _wcstod_l precision.
2012-11-06 16:02:35 +01:00
Michael Stefaniuc
0409b9895c
msvcrt: Aoid TRUE:FALSE conditional expressions.
2012-08-13 17:29:40 +02:00
Alexandre Julliard
06989a0483
msvcrt: Make sure that errno is always set when calling the invalid parameter handler.
2012-07-26 11:05:32 +02:00
Piotr Caban
dc830aa640
msvcrt: Rework wcsncpy_s to work on overlapping pointers.
2012-04-24 19:12:51 +02:00
Piotr Caban
a80aec4c56
msvcrt: Added support for _TRUNCATE flag in wcsncpy_s.
2012-04-12 20:39:15 +02:00
Daniel Lehman
08aa6ae52d
msvcrt: Add _snwprintf_l.
2012-01-09 12:52:17 +01:00
Akihiro Sagawa
13aff6dc56
msvcrt: Fix wctob in C locale.
2011-12-01 14:16:30 +01:00
Piotr Caban
45b4b4205a
msvcrt: Added _iswdigit_l implementation.
2011-10-06 16:46:40 -05:00
Piotr Caban
8df606fea4
msvcrt: Fix wcsncpy_s implementation.
2011-10-04 16:54:04 -05:00
Piotr Caban
af6fd252ef
msvcr90: Fix _vswprintf_p implementation.
2011-09-20 16:21:40 +02:00