Martin Storsjo
56e6ce93b8
msvcrt: Fix the layout of threadlocaleinfostruct for ucrt.
...
In ucrt, this struct has a different layout, with only three fields
exposed in headers (which can be used by inline functions).
This fixes use of some ctype.h functions like e.g. _isdigit_l
from applications that use ucrt (both with MSVC and mingw-w64).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:16:48 +02:00
Alexandre Julliard
1f7489d493
crtdll: Share source with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 21:13:43 +01:00
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
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
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
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
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
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
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
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
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
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
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
Piotr Caban
f82af4d2bb
ucrtbase: Add __current_exception_context() implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 23:19:50 +01:00
Michael Stefaniuc
caf0d0f5fd
msvcrt: Use the global HeapAlloc() wrappers.
...
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-02-02 14:42:37 +01:00
Piotr Caban
31bf13e92b
msvcrt: Fix IO initialization when invalid handles are passed.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:10 +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
Martin Storsjo
3d3d080688
msvcrt: Implement setjmp/longjmp on aarch64.
...
Also include the rest of except_*.c (based on except_arm.c) as stubs.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Józef Kucia
2a2f525eb3
msvcrt: Fix precision handling for string arguments.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Piotr Caban
b2eab1a0e7
msvcrt: Add improper_scheduler_detach class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:47 +02:00
Piotr Caban
1e58032098
msvcrt: Add improper_scheduler_attach class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:18 +02:00
Piotr Caban
e71edd0a1e
msvcrt: Add SchedulerPolicy class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:23 +02:00
Piotr Caban
9bb7731e8e
msvcrt: Add invalid_scheduler_policy_thread_specification class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:23 +02:00
Piotr Caban
04d8ace09d
msvcrt: Add invalid_scheduler_policy_value class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:23 +02:00
Piotr Caban
11fbb1023d
msvcrt: Add invalid_scheduler_policy_key class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:23 +02:00
Piotr Caban
90307e067f
msvcrt: Add helper for exception throwing.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:23 +02:00
Piotr Caban
de600ada77
msvcrt: Add improper_lock class implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:22 +02:00
Piotr Caban
2458f06380
msvcrt: Throw throw_scheduler_resource_allocation_error on Context tls index allocation error.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:58 +01:00
Piotr Caban
3dff8b8213
msvcrt: Add ExternalContextBase class stub.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:55 +01:00
Daniel Lehman
dfd28affe3
msvcrt: Implement Concurrency::event.
...
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-03-20 13:21:50 +01:00
Daniel Lehman
8ec8aba3ad
msvcrt: Add Concurrency::event stubs.
...
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-03-15 17:32:25 +01:00
Jacek Caban
60c98caa94
msvcrt: Added lldiv 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>
2017-02-20 19:29:39 +01:00
Piotr Caban
a6ffb1d2cf
msvcrt: Support fdiv m64fp in i386 _fpieee_flt.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Piotr Caban
dc0e3d0a9c
msvcrt: Add _fpieee_flt stub.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Piotr Caban
e38cbd82bd
msvcrt: Add wcsftime_l.
...
Based on Daniel Lehman's patch.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:07:56 +09:00
Piotr Caban
d7dd5d8fe4
msvcr100: Fix compilation on NetBSD (conflicting fenv_t definitions).
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:35:12 +09:00
Piotr Caban
1150c0454d
msvcr120: Add fegetenv implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Piotr Caban
c35d07fcd1
ucrtbase: Add _set_thread_local_invalid_parameter_handler implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 11:23:29 +09:00
Piotr Caban
de12cd580a
msvcr100: Add missing fields to lconv structure.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:53 +09:00
Piotr Caban
ee5e06591f
msvcrt: Fix i386 rethrown exceptions handling.
...
When __CxxRegisterExceptionObject was used and there was no
catch_function_nested_handler frame to rewind
nested_frame.frame_info.rec was incorrectly set to current exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 00:10:44 +09:00
Piotr Caban
4a397b4009
msvcrt: Destroy thrown c++ object before calling handler in _except_handler4_common.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 22:20:03 +09:00
Piotr Caban
2296261600
msvcr80: Use Cxx(Un)RegisterExceptionObject helpers in i386 nested exception handler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:31 +09:00
Piotr Caban
11ccffea08
msvcrt: Add __CxxRegisterExceptionObject implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:15 +09:00
Piotr Caban
0204517401
msvcr80: Add _CreateFrameInfo implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:04 +09:00
Piotr Caban
d4450b9195
msvcr110: Fix __lc_time_data definition.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 21:19:21 +09:00
Piotr Caban
9b6c93f6f2
msvcrt: Add tmpnam_s implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 18:23:36 +01:00
Martin Storsjo
1fecaae973
ucrtbase: Handle the _s variant of vsscanf.
...
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:37 +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