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
Alexandre Julliard
a2e1e499ad
msvcrt: Build the CRT startup code also for non-PE builds.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 17:21:07 +02:00
Alexandre Julliard
e9d2b31c87
msvcrt: Rebuild the argv array instead of getting it from libwine.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Jacek Caban
6735dcc376
msvcrt: Use public onexit table declarations in importlib.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:16 +01:00
Francois Gouget
a909baeb4e
tests: Report all errors when failing to wait for a child process.
...
Report the line number where the test failed to wait for the child so
one can identify which child process did not behave as expected.
Also wait_child_process() is meant for the general case so report
all non-crash error cases as test failures so they are accounted for.
Omit the "winetest_" prefix to match the other Wine test functions and
so the underlying winetest_wait_child_process() function can be wrapped
with the usual line-capturing macros.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:51:44 +01:00
Alexandre Julliard
bf48e86add
msvcrt/tests: Add tests for Unicode spaces in wcstol().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 09:29:56 +01: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
Piotr Caban
471425c16d
msvcrt: Optimize _strnicmp_l implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48723
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 22:16:30 +01:00
Jacek Caban
b3d13197e3
msvcrt/tests: Use __[w]getmainargs declarations from headers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 20:10:09 +01:00
Jacek Caban
72633d509d
msvcrt: Silence wide environment initialization debug messages.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 20:29:26 +01:00
Jacek Caban
78eca96887
ucrtbase: Add exe entry points implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 20:29:18 +01:00
Jacek Caban
c6b852e3c3
msvcrt: Use more public declarations in exe entry points.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:37:58 +01:00
Jacek Caban
c15733dead
include: Add corecrt_startup.h header.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:37:56 +01:00
Francois Gouget
c2e6f4deeb
msvcrt/tests: Simplify the name of the test unit for child processes.
...
The official name (shown by --list) has no path nor extension.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 09:12:57 +01:00
Jacek Caban
0d537c854c
makedep: Use msvcrt headers for objects inside importlibs.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-13 16:44:24 +01:00
Rémi Bernon
ab3ca36baf
msvcrt/tests: Fix some format-overflow warnings.
...
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-02-12 16:54:03 +01:00
Piotr Caban
87f42c3ae7
ucrtbase: Added stub for _get_FMA3_enable.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +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
05e335c103
msvcrt/tests: Add some wcstombs_s_l 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>
2020-02-04 21:30:26 +01:00
Piotr Caban
6113a251ef
msvcrt: Reimplement _set_new_mode function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:27 +01:00
Piotr Caban
7e9cba139d
msvcrt: Use _callnewh in operator new implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:21 +01:00
Piotr Caban
70ac780e6e
msvcrt: Respect allocation mode in malloc.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:17 +01:00
Piotr Caban
1b5a551324
msvcrt: Don't duplicate _wsearchenv_s code in _wsearchenv.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:10 +01:00
Piotr Caban
f05549b7f7
msvcrt: Add support for quoted paths in _wsearchenv_s.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:07 +01:00
Piotr Caban
98c554ac06
msvcrt: Don't duplicate _searchenv_s code in _searchenv.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:40:03 +01:00
Piotr Caban
2e7ad72a8d
msvcrt: Add support for quoted paths in _searchenv_s.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:39:57 +01:00
Jacek Caban
3dcedeef2d
msvcrt/tests: Avoid using msvcrt.h header.
...
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-01-29 20:39:17 +01:00
Chip Davis
0216290675
msvcrt: Fix the btowc() function.
...
This function returns WEOF on conversion failure. It should only operate
on single-byte characters in the C locale. Finally, it should use the
current locale's codepage, instead of the current locale itself, to do
conversions.
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-01-29 20:31:43 +01:00
Piotr Caban
1d0cca465a
msvcrt: Add support for quoted paths in _searchenv.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:29:48 +01:00
Chip Davis
b6a6fd987a
msvcrt: Correct return value of ___mb_cur_max_l_func().
...
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-01-27 14:41:51 +01:00
Chip Davis
dfd9196f7c
msvcrt: Implement _ispunct_l().
...
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-01-27 14:41:33 +01:00
Jacek Caban
df5b1f8350
msvcrt: Provide exp2f in importlib.
...
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-01-27 14:40:38 +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
Alexandre Julliard
0c16953336
msvcrt: Fetch locale codepage directly as an integer.
...
This avoids preloading all the codepage files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 18:28:53 +01:00
Jacek Caban
bb9fb27bc4
msvcrt: Provide EXE entry points in importlib.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 21:11:29 +01:00
Zhiyi Zhang
84f2ce5139
msvcrt/tests: Fix some test failures.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 21:30:19 +01:00
Alexandre Julliard
4e2da207d7
msvcrt: Use unsigned comparisons in strcmp and strncmp.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48454
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-16 12:21:11 +01:00
Piotr Caban
287dabd9b6
msvcrt: Fix floating point numbers scanning when null-byte is preceding the number.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48452
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 22:20:36 +01:00
Piotr Caban
6babdb5508
msvcrt: Fix handling tryblocks inside current catch block on nested exception.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48335
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 19:41:02 +01:00
Piotr Caban
48a447c5eb
msvcrt: Pass catch_func_nested_frame struct to call_catch_block.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 19:41:02 +01:00
Piotr Caban
ea20974cdd
msvcrt: Pass catch_func_nested_frame struct to cxx_frame_handler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 19:41:02 +01:00
Piotr Caban
3fc3d24c3c
ucrtbase: Fix end pointer setting in parse_double on partial nan/infinity match.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Piotr Caban
c4ad739195
msvcrt: Don't use ungetc when reading double in scanf.
...
It may not work on unbuffered streams.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Piotr Caban
1366dd69d5
msvcrt: Update consumed in all scanf variants on end of input.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Piotr Caban
1d91c196e7
ucrtbase: Fix 0 parsing in parse_double.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Erich E. Hoover
f99d307a3e
msvcrt: Use parse_double for scanf floats.
...
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 19:16:02 +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
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
Piotr Caban
9b6c9b0881
msvcrt/tests: Improve doubles comparison in strtod and atodbl tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-26 21:56:04 +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
Martin Storsjo
a873f78bf1
msvcrt: Only export __p__* functions on i386.
...
The previous specification, -arch=win32, is incorrect - these
functions aren't available on arm.
Signed-off-by: Martin Storsjo <martin@martin.st>
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
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
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
d1444cb12a
msvcrt/tests: Add some tests for wcstoi64().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:15 +01:00
Francois Gouget
92d31164aa
msvcrt/tests: Avoid an unneeded strlen() call.
...
Note that buf is an array and thus cannot be NULL.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Jacek Caban
bdf905d661
msvcrt: Provide exp2 in importlib.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard
94a3d4adad
msvcrt: Create the Ansi argv from the Unicode one.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 15:30:03 +01:00
Piotr Caban
7695433c05
msvcrt: Support mixing length and width in scanf format.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45967
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Jeff Smith
0b78dd17ae
ucrtbase: Correct behavior of strftime formats %c %r.
...
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:31 +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
1b6eee3069
msvcrt: Don't depend on how __lc_time_data was allocated in _Gettnames.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:22 +01:00
Piotr Caban
9571b36241
msvcrt: Don't depend on how __lc_time_data was allocated in _W_Getmonths.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:17 +01:00
Piotr Caban
e4f3dea2e8
msvcrt: Don't depend on how __lc_time_data was allocated in _Getmonths.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:13 +01:00
Piotr Caban
2d23512da1
msvcrt: Don't depend on how __lc_time_data was allocated in _W_Getdays.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:08 +01:00
Piotr Caban
66d702668a
msvcrt: Don't depend on how __lc_time_data was allocated in _Getdays.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:47:04 +01:00
Jeff Smith
dba7dac458
msvcrt: Factor out code for creating lc_time_data structure.
...
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:46:53 +01:00
Gijs Vermeulen
e44d935cc6
msvcrt: Optimize _strlwr implementation in C locale.
...
Tests by Ambrož Bizjak.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:44:06 +01:00
Alexandre Julliard
d33504b9bb
kernel32: Use the Rtl UTF8 conversion functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Alexandre Julliard
65049191ab
msvcrt/tests: Avoid winetest_strcmpW.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 13:57:46 +01:00
Francois Gouget
529d09d353
msvcrt: Fix the spelling of a couple of TRACE() messages.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Jeff Smith
c6bafaa6d9
ucrtbase: Add support for strftime format %r.
...
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-11-28 20:45:46 +01:00
Jeff Smith
251ef88e01
ucrtbase: Consolidate strftime code for formats %g %G %V.
...
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-11-27 22:04:59 +01:00
Jeff Smith
4f5342fff0
ucrtbase: Add support for strftime format %V.
...
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-11-27 22:04:57 +01:00
Jeff Smith
cdcbb9f369
ucrtbase: Use correct type for year with strftime format %g.
...
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-11-27 22:04:55 +01:00
Gijs Vermeulen
cb7f921177
msvcrt: Avoid compiler warning.
...
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
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-11-26 22:49:03 +01:00
Jeff Smith
8fe3d7c913
msvcrt: Call invalid parameter handler for out-of-range integer.
...
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-11-25 20:47:43 +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
Piotr Caban
c953c36d11
ucrtbase: Fix hexadecimal floats parsing in strtod.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-22 18:02:59 +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
Jeff Smith
bb3c3e8fec
ucrtbase: Correct day-of-week range for strftime.
...
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-11-22 15:29:45 +01:00
Jeff Smith
bcb1aee8c7
msvcrt: Correct hour range for strftime.
...
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-11-22 15:29:41 +01:00
Jeff Smith
cdb09ed279
msvcrt: Correct day-of-month range for strftime.
...
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-11-22 15:29:39 +01:00
Jeff Smith
15bbe64609
ucrtbase: Extend range for seconds to allow for leap-second.
...
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-11-22 15:29:37 +01:00
Jeff Smith
a0be8d49f2
ucrtbase: Treat year more consistently in strftime.
...
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-11-22 15:29:35 +01:00
Jeff Smith
6f13ac30b9
msvcrt: Correct behavior of time in strftime formats %X %c.
...
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-11-21 19:01:10 +01:00
Jeff Smith
96b6e1d77c
msvcrt: Range-check fields used as array indices in _Strftime.
...
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-11-21 19:01:10 +01:00
Jeff Smith
84879eb377
msvcrt: Add _Strftime tests for seconds.
...
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-11-21 19:01:10 +01:00
Jeff Smith
8bee5d85d8
msvcrt: Correct behavior of strftime formats %c %x.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 09:08:54 +01:00
Piotr Caban
fbe97003fd
msvcrt: Add _Strftime tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 09:08:44 +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
Piotr Caban
47217f5979
msvcrt: Fix _mbstowcs_s_l return value on truncate.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 09:08:32 +01:00
Jeff Smith
959fe2fd10
msvcrt: Add additional strftime tests.
...
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-11-18 22:12:30 +01:00
Jeff Smith
550a992dd9
msvcrt: Clean up strftime tests.
...
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-11-18 22:12:27 +01:00
Erich E. Hoover
925a88d1f7
msvcrt: Fix scanf file locking when returning EOF.
...
Fixes regression introduced in 0a89a69913
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48087
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>
2019-11-14 15:44:22 +01:00
Jeff Smith
5725ed3b46
ucrtbase: Strftime %y works for years 0 to 9999.
...
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-11-13 22:37:39 +01:00
Piotr Caban
d0277873ea
msvcrt: Call invalid parameter handler in strftime.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 22:37:33 +01:00
Jeff Smith
d4e2b0584b
ucrtbase: Strftime returns 4-digit timezone for %z.
...
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-11-13 22:37:05 +01:00
Jacek Caban
1edda7a302
msvcrt/tests: Add iswdigit tests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 22:58:00 +01:00
Piotr Caban
b6ed0ef4d5
msvcrt: Use %ls format for wchar strings in DoMessageBox.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 21:59:54 +01:00
Jacek Caban
65a371c38f
msvcrt: Use %ls format for wchar strings in _wassert.
...
%s does not do the right thing in ucrtbase.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 21:59:54 +01:00
Piotr Caban
97557ae168
msvcrt: Enable printf %z, %t and %j formats.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:13:16 +01:00
Piotr Caban
1309e11ea1
msvcrt: Improve printf %I format support.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:13:11 +01:00
Alexandre Julliard
0e183cc3c0
msvcrt: Don't change FPU control word in _control87() on x86-64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 09:58:45 +01:00
Ambrož Bizjak
3b6b28bce5
ucrtbase: Implement t and j printf length modifiers.
...
Signed-off-by: Ambroz Bizjak <abizjak.pro@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:31:14 +01:00
Piotr Caban
f87b3750fc
msvcrt: Add printf meaningless digits tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 17:13:04 +01:00
Piotr Caban
04a5beac69
msvcrt: Add printf rounding tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 17:13:02 +01:00
Piotr Caban
3798c0c4c9
msvcrt: Move more printf tests to table.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 17:12:59 +01:00
Piotr Caban
c2b6dcb08f
msvcrt: Fix test failures on Windows 10.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 17:12:55 +01:00
Piotr Caban
465f3cf37a
msvcrt: Simplify printf tests table.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 17:12:51 +01:00
Alexandre Julliard
6f912787a0
msvcrt: Implement _control87() and _statusfp() for ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 22:42:34 +01:00
Piotr Caban
d5cde6ea26
msvcrt: Cleanup sprintf tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 17:44:12 +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
Alexandre Julliard
79052f5890
msvcrt/tests: Fix more signed char issues.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 09:14:17 +01:00
Daniel Lehman
44b49f1a40
msvcrt: Set errno in _lseeki64.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Vijay Kiran Kamuju
54f4bfb06d
ucrtbase: Implement %g format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Daniel Lehman
0357dfbc7e
msvcrt/tests: Fix _lseek arguments.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +01:00
Alexandre Julliard
43d24ffbe7
msvcrt/tests: Fix signed char issues.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 17:41:41 +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
225dad5d0d
msvcrt: Add _mbscspn_l implementation.
...
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
de8e6b6a28
msvcrt: Add _mbsspn_l implementation.
...
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
69ea905674
msvcrt: Don't use strcspn 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
f65c426776
ucrtbase: Implement %G format for strftime.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:33 +01:00
Erich E. Hoover
0a89a69913
msvcrt: Fix fscanf return when EOF is immediately after an end of line.
...
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>
2019-10-22 23:04:27 +02:00
Vijay Kiran Kamuju
679cdc4010
msvcrt: Implement %u format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Gijs Vermeulen
170ab94bde
msvcrt: Add Concurrency::details::_Context::_Yield stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46279
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 21:04:11 +02: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
Alexandre Julliard
2199be1c0f
msvcrt: Export some functions on all architecture except i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 14:38:13 +02:00
Piotr Caban
70b3e2b0e8
msvcrt/tests: Add overlapped memory move sprintf test.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 12:31:22 +02:00
Vijay Kiran Kamuju
c583c4afaa
msvcrt: Implement %n and %t formats for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 12:30:59 +02: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
Sven Baars
f6ec5d1819
ucrtbase: Don't differentiate for 64-bit in __fpe_flt_rounds.
...
The previous behavior was only present on w1064v1507, and not on
any other version of Windows (both older and newer).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:38:39 +02:00
Vijay Kiran Kamuju
8e1435ef81
msvcrt: Implement %h format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:38:33 +02:00
Vijay Kiran Kamuju
0bdaecd2d7
msvcrt: Implement %e format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:06 +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
Vijay Kiran Kamuju
3762402779
msvcrt: Implement %C format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:16:34 +02:00
Vijay Kiran Kamuju
5da8af40dd
msvcrt: Implement %F format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:09 +02:00
Vijay Kiran Kamuju
1ed44b3554
msvcrt: Implement %D format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:09 +02:00
Piotr Caban
127d9932d9
msvcrt: Add wcrtomb_s tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +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
Vijay Kiran Kamuju
20810377ed
msvcrt: Implement %R format for strftime.
...
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban
30913ff564
msvcrt: Don't write past buffer in strftime.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban
3577f06f71
msvcrt: Fix _putws implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47615
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 18:18:22 +02:00
Andrew Eikum
bfe02fc747
msvcrt: Implement %T format for strftime.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 17:43:31 +02:00
Alexandre Julliard
0c853f0265
msvcrt: Move vtbl wrappers together with the other functions.
...
The .text directive can mess up the variable definitions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47751
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 13:57:06 +02:00
Piotr Caban
702b1e29d5
msvcrt: Match broken multi-byte character with everything in _mbsspn.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa
ab525d3f6f
msvcrt: Reimplement _mbsspnp using _mbsspn.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47693
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa
f0f93c791f
msvcrt: Fix _mbsspn implementation.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa
c62c51c04a
msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa
996cb72c8e
msvcrt/tests: Restore the multibyte codepage after the tests.
...
N.B. _setmbcp() doesn't return the previous codepage.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Jacek Caban
0f15515cc2
mscvrt: Always provide float variants of math functions in importlib on x86.
...
We have them declared as inline wrappers around double variant in
math.h, but that's not enough. clang is smart enough to optimize them
back to *f variants anyway.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:15 +02:00
Alexandre Julliard
ed6aa17d98
msvcrt: Simplify stack layout in __crtCapturePreviousContext().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Alexandre Julliard
44a6043388
ntdll: Move some exception definitions to winnt.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 13:17:37 +02:00
Jacek Caban
873a90e6f3
msvcrt: Avoid conflict with mingw __iob_func declaration.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 18:11:16 +02:00
Jacek Caban
8445055b72
msvcrt: Export __p__iob only on i386.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 01:59:23 +02:00
Jacek Caban
a0c424b111
msvcrt: Use __iob_func instead of __p__iob in __acrt_iob_func implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 01:58:36 +02:00
Jacek Caban
9246fca312
msvcr70: Provide floating point function wrappers in importlib.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Martin Storsjo
e38b46e7f7
msvcrt: Implement the tgamma functions.
...
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-08-02 16:57:12 +02:00
Martin Storsjo
83a95b8fcf
msvcrt: Implement the fdim functions.
...
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-08-02 16:56:56 +02:00
Martin Storsjo
dec4c99ae7
msvcrt: Provide the fmaf function on i386.
...
This is one of the new -f suffixed C99 math functions that actually
are available on all architectures, even on i386.
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-08-01 19:12:03 +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
Dmitry Timoshkov
c28af247e9
msvcrt: Add '-norelay' flag for _vsnprintf().
...
Otherwise for instance +relay,+msi log has msi: traces completely messed up.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Alexandre Julliard
61680b4449
winecrt0: Provide our own setjmp/longjmp functions for exception handling.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Zebediah Figura
9445bed298
ucrtbase: Write the %hh prefix as a single char.
...
This fixes a crash in Planet Coaster on startup.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:19:32 +02:00
Alexandre Julliard
4685e88de8
msvcrt/tests: Don't use win_skip for functions that are not exported on 64-bit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 20:20:09 +02: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
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
Andrew Eikum
fa54e895a7
msvcrt: Implement fma and fmaf.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +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
ee4db2005e
include: Define thiscall assembly wrappers globally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 20:11:19 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Martin Storsjo
869e0a6360
msvcrt: Hook up _setjmpex for arm64 as well.
...
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-05-13 12:44:28 +02:00
Martin Storsjo
8582615894
msvcrt: Hook up the unprefixed logb/logbf/logbl functions for msvcr120/ucrtbase.
...
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-04-25 17:39:59 +02:00
Martin Storsjo
fc1107382b
msvcrt: Fix the fallback implementation of asinh for large negative values.
...
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-04-25 17:39:46 +02:00
Alexandre Julliard
52bff1fdfe
msvcrt: Don't export the __p__* functions on 64-bit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:28: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
Martin Storsjo
de8be4a09c
msvcrt: Implement the remquo family of functions.
...
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-04-11 19:29:41 +02:00
Martin Storsjo
f20be3b00c
msvcrt: Implement _get_environ and _get_wenviron.
...
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-04-11 19:29:41 +02:00
Alexandre Julliard
7b83b6b9de
msvcrt/tests: Add a function pointer to bypass builtin printf().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Alexandre Julliard
9a4b596ed9
msvcrt/tests: Add some function pointers to bypass gcc builtin functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:01:46 +02:00
Alexandre Julliard
2e01a48440
msvcrt/tests: Use existing function pointers to call functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:01:46 +02:00
Alexandre Julliard
b5408ff58c
msvcrt: Don't set invalid std handles with kernel32.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 14:07:10 +02:00
Alexandre Julliard
9a364c1a66
msvcrt: Don't export _matherr().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:30 +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
Gijs Vermeulen
e49a937ae3
msvcrt/tests: Add missing return value check.
...
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:45 +02:00
Alexandre Julliard
b360bf81cb
msvcrt: Export an import symbol for __acrt_iob_func() for compatibility with Mingw.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 17:15:02 +02:00
Alexandre Julliard
ac38c175b5
msvcrt: Add MSVCRT_ prefix to the spawn() functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 11:51:56 +02:00
Piotr Caban
b353ad7db8
msvcr110: Fix __crtGetShowWindowMode implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46928
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:32 +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
Alexandre Julliard
4a5bff8368
msvcrt: Only add the onexit functions to the import library of msvcrt itself.
...
This partially reverts 0673ddf3a5
.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 11:48:29 +01:00
Alexandre Julliard
62fd803e52
msvcrt: Only add __acrt_iob_func() to the import library of msvcrt itself.
...
This partially reverts ca50117418
.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 11:41:39 +01:00
Alexandre Julliard
ca50117418
msvcrt: Export the __acrt_iob_func function from the import library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 20:24:01 +01:00
Alexandre Julliard
0673ddf3a5
msvcrt: Export the onexit functions from the import library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 20:24:01 +01:00
Piotr Caban
f48ea29726
msvcrt: Use _strnicmp instead of strncasecmp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:50:36 +01:00
Piotr Caban
462caf8fbd
msvcrt: Use _stricmp instead of strcasecmp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:50:34 +01:00
Piotr Caban
3f675c1a9d
msvcrt: Use internal toupper implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:50:32 +01:00
Piotr Caban
834134f284
msvcrt: Use internal tolower implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:50:30 +01:00
Gijs Vermeulen
3229074824
msvcr120: Add [to]wctrans.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46848
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-03-21 22:57:51 +01:00
Ken Thomases
d22058d1cb
msvcrt: Fix vtable alignment on macOS and certain non-x86 architectures.
...
On some platforms and architectures, the .align <n> directive aligns to 2^n
bytes, not n bytes. The .balign <n> directive always aligns to n bytes.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 21:41:57 +01:00
Piotr Caban
b633777ed4
msvcrt: Use correct locale when comparing strings in getenv.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:12:16 +01:00
Piotr Caban
513eb41f9a
msvcrt: Correctly set _stat64.st_dev fields in _wstat64.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:12:07 +01:00
Piotr Caban
8c1684a50a
msvcrt: Don't detect overflow in atol implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46845
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:10:44 +01:00
Piotr Caban
58140f73a2
msvcrt: Fix long limits in _atol_l.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:10:36 +01:00
Nikolay Sivov
8c8d8e80f5
ucrtbase: Add ilogb* functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Michael Stefaniuc
cc12c0af71
msvcrt: Remove redundant not-NULL check (coccinellery).
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:29 +01:00
Piotr Caban
79188582f0
msvcrt: Fix buffer overflow in _get_tzname.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46481
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-27 20:19:19 +01:00
Zebediah Figura
28e74af742
msvcr120: Add nexttoward implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45631
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 17:48:02 +01:00
Piotr Caban
35e570eb09
msvcrt: Change __getmainargs signature.
...
It was changed in newer versions of msvcrt/msvcrXX dlls.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:03 +01:00
Nikolay Sivov
cebb947027
msvcrt: Add _ismbcl2().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:06:54 +01:00
Nikolay Sivov
c166dfec00
msvcrt: Add _ismbcl2_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>
2019-02-15 15:06:51 +01:00
Piotr Caban
7d383d573d
msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:06:44 +01:00
Piotr Caban
a808235e45
msvcrt: Use mbtowc/wctomb for string conversion in printf.
...
This changes printf behaviour for C locale.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:06:28 +01:00
Nikolay Sivov
698b26a432
msvcrt: Add _ismbcl1().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46644
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-14 17:57:09 +01:00
Nikolay Sivov
1b86a06ff8
msvcrt: Add _ismbcl1_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>
2019-02-14 17:57:09 +01:00
Nikolay Sivov
2d89bccfc3
msvcrt: Add _ismbcl0_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>
2019-02-14 17:57:09 +01:00
Piotr Caban
622c218cb2
msvcrt: Validate character in _ismbcl0.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-14 17:57:09 +01:00
Piotr Caban
64453ea28b
msvcrt: Add _ismbclegal_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-14 17:57:09 +01:00
Piotr Caban
790f97cb30
msvcrt: Add _ismbbtrail_l implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-14 17:57:09 +01: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
Piotr Caban
6886717631
msvcrt: Optimize toupper function when locale was never changed.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:41:54 +01:00
Piotr Caban
e867af3bfe
msvcrt: Optimize tolower function when locale was never changed.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:41:52 +01:00
Piotr Caban
2efc73b968
msvcrt: Use GetDaylightFlag() to set dstflag value in _ftime64.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-21 14:01:14 +01:00
Piotr Caban
b8bafa2c58
msvcrt: Use _timezone in _ftime64.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-21 14:01:12 +01:00
Alexandre Julliard
dd016c031a
msvcrt: Add some more MSVCRT prefixes to avoid conflicts with recent Mingw.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-14 18:24:46 +01:00
Alexandre Julliard
e4d34098a6
msvcrt: Fix __p__fmode() prototype.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-14 18:24:46 +01:00
Alexandre Julliard
32bac73463
msvcrt: Export onexit functions for compatibility with Mingw.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-14 18:24:46 +01:00
Daniel Lehman
6d7a03d2fa
msvcrt/tests: Add tests for 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>
2018-12-14 18:24: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
Daniel Lehman
ed712a96a4
msvcrt/tests: Remove unused todo field.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 19:24:08 +01:00
Nikolay Sivov
60c06980cf
msvcrt: Implement __strncnt().
...
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-10-30 18:04:48 +01:00
Piotr Caban
c99d14d04d
msvcrt: Don't forward strpbrk to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:14 +02:00
Piotr Caban
f43ae5e803
msvcrt: Don't forward strcspn to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:11 +02: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
98eb7171e1
msvcrt: Don't forward atol to ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:32:00 +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
Piotr Caban
4d0a008e5d
msvcrt: Don't forward _atoi64 to ntdll.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45922
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 17:31:42 +02:00
Jacek Caban
055ca5e4d9
msvcrt: Use memmove to copy memory in memcpy_s.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:19 -05:00
Jacek Caban
be56a83fd0
msvcrt: Use memmove to copy memory in wmemcpy_s.
...
Fixes memory corruption in Outlook 2016.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:16 -05:00
Piotr Caban
c3445197b2
msvcr100: Added _Scoped_lock::_NonReentrantPPLLock class.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-03 16:25:04 -05:00
Piotr Caban
83a0c2085f
msvcr120: Added creal implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:29 -07:00
Piotr Caban
84f5d8a619
msvcr120: Added _Cbuild implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:29 -07:00
Alex Henrie
48f108345a
msvcrt: Use isnan instead of isnanf.
...
This resolves several warnings when compiling with MinGW because isnanf
is not in MinGW's math.h (it's not a standard C function). On the other
hand, isnan is a widely available C99 macro designed for both floats and
doubles. We also have an isnan implementation in libs/port/isnan.c for
pre-C99 compilers.
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-09-27 11:03:41 +02:00
Jason Edmeades
0dcfc97fcb
msvcrt: Do not put cmd.exe special environment variables into the environ.
...
All the special environment variables from the command shell which
track directory use are stripped out from the C runtime
environ/wenviron.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45320
Signed-off-by: Jason Edmeades <us@edmeades.me.uk>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 12:58:19 +02:00
Alex Henrie
b917cc66f4
msvcrt: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
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-09-19 18:20:08 +02:00
Alex Henrie
b6774e38e6
msvcrt: Don't report an underflow for ldexp(0, x) or _scalb(0, x).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: piotr@codeweavers.com
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-11 17:34:41 +02:00
Gijs Vermeulen
58e3ac93ac
msvcr100: Add Concurrency::wait stub.
...
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 16:44:47 +02:00
Daniel Lehman
3467d71c27
msvcrt/tests: Add tests for _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: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
9aa7a42a9f
msvcrt/tests: Add tests for _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:49 +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
Daniel Lehman
05f9db7b95
msvcr110: Create current scheduler in _CurrentScheduler::_Id.
...
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-07-19 16:54:01 +02:00
Daniel Lehman
16f9a9e122
msvcr110: Create current scheduler in _CurrentScheduler::_GetNumberOfVirtualProcessors.
...
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-07-18 14:12:23 +02:00
Piotr Caban
6b268e77bb
msvcr80: Add gets_s implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45393
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Piotr Caban
c5cb5e24a3
ucrtbase: Don't fail if path ends with '\' character in stat functions family.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45292
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:44 +02:00
Fabian Maurer
89b8f3d712
ucrtbase: Implement quick_exit and _crt_at_quick_exit.
...
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>
2018-07-09 22:20:25 +02:00
Fabian Maurer
224f3312f8
ucrtbase: Add quick_exit.
...
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>
2018-07-09 22:20:21 +02:00
Fabian Maurer
a63c8cab27
ucrtbase: Add _crt_at_quick_exit stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45295
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>
2018-07-09 22:20:16 +02:00
Fabian Maurer
1bc84577ff
msvcrt: Use cdecl calling convention for atexit callback.
...
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>
2018-07-09 22:20:11 +02:00
Michał Janiszewski
08d98f0ff8
msvcrt: Update size checks for secure scanf versions.
...
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 18:04:17 +02:00
Michael Müller
0dde2b8a2f
msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback.
...
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-07-09 13:52:12 +02:00
Michał Janiszewski
32e65acc00
msvcrt: Don't forget to free the buffer in scanf.
...
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:51:53 +02:00
Fabian Maurer
83f8b22694
msvcrt: Use already existent oneexit_table functions for _onexit and _c_exit.
...
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>
2018-06-25 11:57:48 +02:00
Michael Stefaniuc
3624b7c60c
msvcrt/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-21 14:20:57 +02:00
Michael Stefaniuc
ee8acc381d
msvcrt: Rename a macro to ARRAY_SIZE().
...
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-21 14:20:57 +02:00
Piotr Caban
b22faf3d0b
msvcr100: Fix lldiv implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Zebediah Figura
88f273b77c
msvcrt: Don't reimplement call_unwind_func().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 23:48:47 +02:00
Zebediah Figura
77e92cf72c
msvcrt: Avoid using inline assembly in call_unwind_func().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 23:48:47 +02:00
Zebediah Figura
9867d10e28
msvcrt: Avoid using inline assembly in call_filter().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 18:28:37 +02:00
Zebediah Figura
f96a3b735b
msvcrt: Avoid using inline assembly in call_finally_block().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 18:27:07 +02:00
Zebediah Figura
701e1b6f81
msvcrt: Avoid using inline assembly in continue_after_catch().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 18:26:46 +02:00
Zebediah Figura
0c216b8ca8
msvcrt: Avoid using inline assembly in __ExceptionPtrCopyException() and copy_exception().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:49:29 +02:00
Zebediah Figura
6f819b49c1
msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:44:44 +02:00
Piotr Caban
7122c9d41d
msvcr110: Try SNAME when matching locale.
...
Based on patch by Daniel Lehman.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 19:47:28 +02:00
Alex Henrie
9ccc0b1320
msvcrt: Omit pointer coding functions from SOs for newer MSVC versions.
...
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-05-09 19:26:54 +02:00
Daniel Lehman
642e0917d5
msvcrt/tests: Add setlocale test.
...
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-05-02 20:02:13 +02:00
Piotr Caban
7a50abd894
ucrtbase: Add _timespec{32,64}_get implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 21:25:49 +02:00
Piotr Caban
8905bd92aa
msvcrt: Support "China" country name in setlocale function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 09:58:23 +02:00
Piotr Caban
19bb93ec10
msvcr110: Add __crtCapturePreviousContext implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 09:58:18 +02:00
André Hentschel
807d47d448
msvcrt: Don't increment variables both in the loop header and body (clang).
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 09:52:13 +02:00
André Hentschel
4e5e56c822
msvcrt: Accept Czechia as locale name.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 19:37:27 +02:00
Hua Meng
e1c7a1f7ce
msvcrt: Implement _atoi64_l.
...
Signed-off-by: Hua Meng <161220092@smail.nju.edu.cn>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 22:56:31 +02:00
Hua Meng
2f9dd7f6cb
msvcrt: Implement _atol_l.
...
Signed-off-by: Hua Meng <161220092@smail.nju.edu.cn>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 22:56:23 +02:00
Piotr Caban
9a7cb34d0f
msvcrt/tests: Add _strupr tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 20:15:35 +01:00
Piotr Caban
52415cabb0
msvcrt: Optimize _strupr implementation in C locale.
...
Don't write to input buffer when there's nothing to change.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 20:15:15 +01:00
Piotr Caban
36a88ac2e1
msvcrt: Fix __uncaught_exception implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 23:20:01 +01:00
Piotr Caban
9999c59c48
ucrtbase: Add __processing_throw implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 23:19:59 +01:00