Commit Graph

2494 Commits

Author SHA1 Message Date
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
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
Piotr Caban ae5d0b2229 ucrtbase: Add __current_exception() implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 23:54:59 +01:00
Akihiro Sagawa f4ddd3190a ucrtbase: Asctime() uses space-padding for day of month as seen in C89.
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>
2018-03-13 13:24:27 +01:00
James Woodcock 91c72ce7de msvcrt: Gets() should handle EOF on stdin gracefully.
Signed-off-by: James Woodcock <james_woodcock@yahoo.co.uk>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-07 08:47:44 -06:00
Alex Henrie acd2f1e59b msvcrt: Compile but show an error if Bessel functions aren't available.
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-03-05 06:59:19 -06:00
Piotr Caban a44794af67 msvcrt: Fix misleading indentation in gets.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Kirill Erofeev e0f7fbfa59 msvcrt/tests: Add tests for _searchenv, _searchenv_s, _wsearchenv, _wsearchenv_s.
Signed-off-by: Kirill Erofeev <erofeev.info@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:57:54 +01:00
Kirill Erofeev 83470d449d msvcrt: Fix _searchenv, _searchenv_s, _wsearchenv, _wsearchenv_s.
Signed-off-by: Kirill Erofeev <erofeev.info@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:57:54 +01:00
Piotr Caban 19ef182c81 msvcr100: Add _ReentrantPPLLock::_Scoped_lock class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 19:39:12 +01:00
Piotr Caban 475fa2c749 msvcr110: Add Concurrency::_Trace_agents function stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 19:38:31 +01:00
Piotr Caban 7419eff0c2 msvcr100: Add _ReentrantPPLLock class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 16:56:49 +01:00
Piotr Caban 8d105ac7c2 msvcr100: Add _NonReentrantPPLLock class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 16:56:45 +01:00
Piotr Caban f042c4ea4a msvcr100: Use scoped_lock internal buffer when locking critical_section.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 16:56:42 +01:00
Piotr Caban a672732476 msvcr100: Add _NonReentrantPPLLock@details class stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 16:56:27 +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
Martin Storsjo 85635db0ea msvcrt: Optimize the aarch64 setjmp/longjmp using stp/ldp.
stp/ldp don't require any more alignment than the normal str/ldr.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 19:11:42 +01:00
Alex Henrie f0e74961e1 msvcrt: Fix mistakes in comments.
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-10 18:49:24 +01:00
Alex Henrie 6defbd1b50 msvcrt: Don't include MSVC 8.0+ function _CRT_RTC_INITW 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-10 18:49:15 +01:00
Alex Henrie 6a76d027f2 msvcrt: Don't include MSVC 11.0+ function _wcreate_locale 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-10 18:49:05 +01:00
Alex Henrie b6ec8980c5 msvcrt: Don't include MSVC 8.0+ exit 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-10 18:49:01 +01:00
Alex Henrie 9be95285c3 msvcrt: Don't include MSVC 7.0+ exception 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-10 18:48:56 +01: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 5041d89b97 msvcrt: Don't include MSVC 7.1+ purecall 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-05 18:51:32 +01:00
Alex Henrie b4e1390123 msvcrt: Don't include MSVC 8.0+ time 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-05 18:51:30 +01:00
Alex Henrie 512c945e9a msvcrt: Don't include MSVC 8.0+ locale 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-05 18:51:28 +01:00
Alex Henrie b489c6e9b1 msvcrt: Don't include MSVC 8.0+ file 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-05 18:51:27 +01:00
Alex Henrie 1c03dc45c3 msvcrt: Don't include MSVC 8.0+ error 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-05 18:51:25 +01:00
Alex Henrie 8762cd5cf6 msvcrt: Don't include MSVC 8.0+ C++ 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-05 18:51:23 +01:00
Zebediah Figura 249cc1e845 msvcrt: _Gettnames() should respect user overrides.
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>
2018-01-04 21:46:59 +01:00
Alex Henrie 00fe56a736 msvcrt: Don't include MSVC 8.0+ environment 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-03 19:14:06 +01:00
Alex Henrie 160175a881 msvcrt: Don't include MSVC 14.0 console 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-03 19:14:01 +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
Alex Henrie 42ab0af66b msvcrt: Don't include MSVC 8.0+ heap 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
André Hentschel 9f561f0089 msvcrt/tests: Don't test function directly when reporting GetLastError().
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-01-02 13:25:17 +01:00
Piotr Caban 45c4fc7c6c msvcrt: Remove unused variables.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-28 11:19:01 +01:00
Gijs Vermeulen 43034dee45 msvcrt: Add _get_[winmajor|winminor|osver].
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-12-27 16:46:08 +01:00
Alex Henrie 86597db834 msvcrt: Don't include MSVC 10.0+ math 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>
2017-12-26 19:07:00 +01:00
Piotr Caban 22edbd849a msvcrt: Correctly set rounding mode in _ftol implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-18 12:35:13 +01:00
Piotr Caban 8ee96fec2b msvcr71: Don't raise exception in _invalid_parameter.
Support for invalid parameter handler was added in msvcr80.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-18 12:35:13 +01:00
Martin Storsjo 49c3351fd7 msvcrt: Fix copy/paste typos in arm64 setjmp/longjmp.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-13 15:52:03 +01:00
Alexandre Julliard 702da12d04 msvcrt: Disable floating point instructions for the soft-float ARM build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:56 +01:00
Fabian Maurer 058be4304e msvcrt: Don't crash if _vsnwprintf gets NULL as format string and add test.
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>
2017-12-04 15:04:02 +01:00
Piotr Caban 7aa67f1e5f msvcrt: Fix buffer size checks in swscanf_s.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 15:57:12 +01:00
Piotr Caban 96584d858a msvcrt: Don't report error in fclose on already closed stream.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 20:44:33 +01:00
Piotr Caban 1899eadf3e msvcrt: Change how fread splits reading into chunks.
It affects fd stream position and buffer content on unsuccessul reads.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 20:44:33 +01:00
Piotr Caban 67926ec8c3 msvcrt: Set errno when close() is called on already closed fd.
Based on a patch by Olly Betts.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-28 20:39:29 +01:00
Piotr Caban ee33d38c50 msvcrt: Call cdecl functions with empty FPU stack in _CI* functions.
The FPU stack should be empty on cdecl function call. Failing to do so
breaks GCC 6.4.0 -O2 optimized code.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-28 13:02:07 +01:00
Nikolay Sivov b8d294cd7b msvcrt: Added _get_purecall_handler().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-24 20:23:25 +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
Piotr Caban 7aa4b6d170 msvcrt: Fix write() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:22 +01:00
Piotr Caban 9b2397d5c8 msvcrt: Fix read() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:20 +01:00
Piotr Caban 677301a29c msvcrt: Fix close() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:18 +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
Piotr Caban 20a11fd6cc msvcrt/tests: Rewrite clock() tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-13 17:09:37 +01:00
Alex Henrie 06d9c7e25e libport: Move rint fallback implementations from msvcrt to libport.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:39:04 +01:00
Nikolay Sivov d045a5ea29 msvcrt: Implement _memicmp_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>
2017-11-08 20:21:10 +01:00
Martin Storsjo 171b3bcf3b msvcrt: Back up and restore the FPU state in setjmp/longjmp on ARM.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:54:05 +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
Piotr Caban 7274ed63e2 msvcrt: Don't define type_info structures as const so we can set demangled class name.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 18:59:35 +02: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
Gijs Vermeulen 1ae09d5fb2 msvcrt: Add vf[w]printf_s_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-10 18:28:21 +02:00
Gijs Vermeulen 344a41a6ca msvcrt: Introduce vfprint & vfwprintf helper functions.
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-09 15:24:40 +02:00
Piotr Caban 6d0d955ac0 msvcrt/tests: Add _mbccpy_s tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:49 +02:00
Piotr Caban eb7d55761e msvcrt: Add _mbccpy_s_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:49 +02:00
Piotr Caban f38c958ed4 msvcrt/tests: Add _mbsnlen tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 20:32:10 +02:00
Piotr Caban f097c2be11 msvcrt: Add mbsnlen_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 20:32:03 +02:00
Alistair Leslie-Hughes fae0570a88 msvcrt: Implement clearerr_s.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 11:19:36 +02:00
Nikolay Sivov 1b2554c2c3 msvcr120: Added vsscanf() and vswscanf().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 23:29:10 +02:00
Jacek Caban 32c38dc4b2 ucrtbase: Added _register_thread_local_exe_atexit_callback 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-09-20 20:29:45 +02:00
Gijs Vermeulen 4a75c37b41 msvcrt: Add _vfprintf_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-09-19 14:28:29 +02:00
Alex Henrie 3864851feb msvcrt: Set the correct error number in pow(f).
Old versions of MSVC set EDOM on pow(-1, INFINITY) and
pow(-1, -INFINITY) but new versions do not.

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-18 18:44:35 +02:00
Daniel Lehman 67012e8300 msvcrt: Protect onexit table with critical section.
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-09-12 20:32:01 +02:00
Daniel Lehman 3ea70fa1e2 msvcrt: Use exception base to create copy constructor pointer.
The exception base (exc_base) from the ExceptionRecord is used in
find_caught_type to find the type info for the exception. All related
type information is relative to this base, including the offset for
the copy constructor.

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-09-11 19:56:02 +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
Alex Henrie efaeb5cf8a ucrtbase: Add __stdio_common_vfwprintf_s.
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:57 +02:00
Alex Henrie a116f4a7ab ucrtbase: Add __stdio_common_vfprintf_s.
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:48 +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
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
Nikolay Sivov 1a6e50ce97 msvcrt: Added _ismbcl0().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:11:43 +09:00
Piotr Caban 395a65bdc6 msvcrt: Fix strcpy implementation so it works on overlapping buffers.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-06 10:34:11 +09:00
Akihiro Sagawa 967fb744e4 msvcrt: Fix mbstowcs with empty strings.
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>
2017-08-06 10:32:36 +09:00
Akihiro Sagawa 82bf4edf36 msvcrt/tests: Add tests for mbstowcs and wcstombs with empty strings.
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>
2017-08-06 10:32:29 +09:00
Martin Storsjo a44b52d102 msvcrt: Export -f suffixed float functions functions on arm64.
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-08-03 19:18:06 +02:00
Martin Storsjo a4af0aaf5f msvcrt: Don't export _isnanf, _nextafterf, _scalbf and frexpf on arm.
Based on the import libraries in MSVC 2012, 2013 and in the Windows 10
SDK, these functions actually aren't exported on arm - only on x86_64.

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-08-03 19:17:53 +02:00
Alex Henrie 994c071a11 msvcrt: Set errno through the _matherr function.
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-08-02 14:16:50 +02:00
Alistair Leslie-Hughes d379dc4cb0 msvcrt/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 13:55:34 +02:00
Alex Henrie d20b89cf93 msvcrt: Don't set errno in sqrt(f) if x is positive infinity.
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-08-01 19:39:54 +02:00
Alex Henrie 6e73ef2091 msvcrt: Don't set errno in sinh(f), cosh(f), or atan2(f) if x is ±INF.
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-07-31 15:04:48 +02:00
Alex Henrie 70c338c27a msvcrt: Don't set errno in _logb(f) if x is ±INF.
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-07-31 15:04:45 +02:00
Alex Henrie 9e3b3c9bac msvcrt: Set errno in _logb(f) if x is 0.
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-07-31 15:04:41 +02:00
Alex Henrie 417b2a4f52 msvcr120: Don't double-check error conditions in log2f.
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-07-27 21:59:40 +02:00
Alex Henrie 79c3b610c4 msvcrt: Set ERANGE in exp functions on finite input and infinite output.
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-07-26 22:14:00 +02:00
Alexandre Julliard c293acac01 msvcrt: Mark function that are only called from assembly as hidden.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 11:49:07 +02:00
Alex Henrie eca2999113 msvcr120: Declare ret as a float in functions that return a float.
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-07-24 18:58:31 +02:00
Alex Henrie f5d3ba5888 msvcrt: Don't set errno in log functions if x is positive infinity.
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-07-18 20:43:34 +02:00
Alex Henrie b1230c3484 msvcr120: Set errno in log2.
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-07-18 20:43:34 +02:00
Alex Henrie 31b835d0e0 msvcr120: Add log1p.
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-07-18 20:43:33 +02:00
Alex Henrie 79715cce88 msvcr120: Add expm1.
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-07-14 13:53:26 +02:00
Alex Henrie 26163f5cdf msvcr120: Add erfc.
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-07-14 13:53:11 +02:00
Piotr Caban ab313dd3be msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 21:04:33 +02:00
Alex Henrie 860c1578e6 msvcr120: Add atanh.
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-07-13 11:30:44 +02:00
Alex Henrie f1dad14807 msvcr120: Add acosh.
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-07-13 11:30:27 +02:00
Piotr Caban 4df7ced7b0 msvcr120: Add fallback implementation of asinh.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:57 +02:00
Piotr Caban e495e25af7 msvcr120: Add fallback implementation of erf function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:55 +02:00
Alex Henrie ddff85a361 msvcr120: If erff is not available, fall back to erf.
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-07-13 11:29:48 +02:00
Francois Gouget 2dada69909 msvcrt/tests: A couple of spelling fixes in ok() 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>
2017-07-06 18:49:39 +02:00
Huw Davies b7bb360be3 msvcrt: _difftime64() takes 64-bit args.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 16:22:25 +02:00
Marcus Meissner d3d43ffded msvcrt: Free the temporary filename (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-20 10:39:09 +02:00
Daniel Lehman 66b65474d1 msvcrt: Support rethrowing SEH exceptions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:43 +02:00
Daniel Lehman f1d307cae5 msvcrt: Only unwind current catch block when handling nested exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:41 +02:00
Daniel Lehman 57266eec5e msvcrt: Clean up registered C++ objects in handler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:39 +02:00
Daniel Lehman ac9db1138c msvcrt: Move exception rethrow handling to call_catch_block.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:34 +02:00
Piotr Caban c7a51dfdcb msvcrt: Translate SEH exception on each call to __CxxFrameHandler (i386).
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:13 +02:00
Piotr Caban e4c9a2ec81 msvcrt: Use temp directory when creating file in tmpfile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:50:04 +02:00
Daniel Lehman 4aa813867c msvcrt: Translate SEH exception on each call to __CxxFrameHandler.
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-06-05 11:26:38 +02:00
Piotr Caban 05a6e52613 msvcr100: Add reader_writer_lock::scoped_lock implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 09:36:45 -05:00
Piotr Caban e76ea27ef6 msvcr100: Add _invalid_parameter_noinfo_noreturn implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-04 16:25:07 +02:00
Piotr Caban 5823e5b914 msvcrt: Fix '%z' format handling in strftime.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 17:15:23 +02:00
Daniel Lehman 64c4c39746 msvcrt: Stop at trylevel for ControlPc on target frame for non-consolidate unwinds.
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-24 19:17:35 +02:00
Daniel Lehman b0326bea74 msvcrt: Handle synchronous flag for x64 C++ exceptions.
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-24 19:17:28 +02:00
Daniel Lehman 867a27c964 msvcrt: Add __ExceptionPtrAssign.
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-19 09:10:18 +02:00
Piotr Caban 42ccd8d9ec msvcr120: Add wctype implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:08:44 +02:00
Piotr Caban da8b706fdb msvcrt: Don't call unwind handlers when unwinding nested catch blocks.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:03:57 +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
Daniel Lehman 724a09abb5 ucrtbase: Add _isblank_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:02 +02:00
Daniel Lehman 21d6e97d8d msvcrt: Fix build warnings.
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:53:48 +02:00
Piotr Caban 858bdcb392 msvcrt: Add _CurrentScheduler class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:44 +02:00
Piotr Caban daccc568af msvcrt: Add _Scheduler class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:41 +02:00
Piotr Caban d3020a606a msvcrt: Forward remaining CurrentScheduler functions to current scheduler object.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:37 +02:00
Piotr Caban 6ad1e9a954 msvcrt: Improve CurrentScheduler::Get implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:35 +02:00
Piotr Caban 2d4be5cb35 msvcrt: Add CurrentScheduler::GetNumberOfVirtualProcessors implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:33 +02:00
Daniel Lehman b5465d9605 msvcr120: Add __crtSleep.
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-03 14:09:02 +02:00
Piotr Caban e7f9b562b9 msvcrt: Fix wide characters handling in wscanf functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 13:08:57 +02:00
Piotr Caban 92651b9850 msvcr120: Add fesetround implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 16:47:30 +02:00
Piotr Caban 32bb8d9068 msvcrt: Fix handling of unsigned chars in scanf format.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 15:53:21 +02:00
Piotr Caban f0b1a2a779 msvcr100: Fix ThreadScheduler virtual table.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:53:00 +02:00
Piotr Caban b0ee400ed3 msvcrt: Add CurrentScheduler::Id implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:58 +02:00
Piotr Caban 5741991b1a msvcrt: Add CurrentScheduler::Detach implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:54 +02:00
Piotr Caban 5f72ec063f msvcrt: Attach context to default scheduler on creation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:51 +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 43b768d5eb msvcrt: Add CurrentScheduler::Get implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:41 +02:00
Piotr Caban b26fed8ad1 msvcrt: Add Scheduler::SetDefaultSchedulerPolicy implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:38 +02:00
Piotr Caban b77542f9a2 msvcrt: Add CurrentScheduler::Create implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:33 +02:00
Piotr Caban 82fb8a5d13 msvcrt: Add CurrentScheduler class stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:30 +02:00
Piotr Caban dbb4e8553f msvcrt: Add ThreadScheduler::Attach implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:22 +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 4a184a59a1 msvcrt: Add ThreadScheduler::RegisterShutdownEvent implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:52:10 +02:00
Piotr Caban d9dcdb0d51 msvcrt: Add ThreadScheduler::Release implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:32 +02:00
Piotr Caban ac502ad05a msvcrt: Add ThreadScheduler::GetNumberOfVirtualProcessors implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:32 +02:00
Piotr Caban 118271c5f2 msvcrt: Add ThreadScheduler::Id implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:32 +02:00
Piotr Caban 5debf060b8 msvcrt: Add ThreadScheduler::GetPolicy implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:31 +02:00
Piotr Caban bac1ca7033 msvcrt: Add Scheduler::Create implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:31 +02:00
Piotr Caban b816418471 msvcrt: Add Scheduler class stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:31 +02:00
Piotr Caban c03b7fd9cb msvcrt: Throw improper_lock exception in critical_section::lock and try_lock_for.
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 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 895928860d msvcrt: Add SchedulerPolicy class stub.
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 c5d733e1ac msvcrt: Implement caching in Concurrency::Alloc.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 20:51:40 +01:00
Piotr Caban cf7f632b31 msvcrt: Add __ExceptionPtrCompare implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 20:51:36 +01: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 27185abe63 msvcrt: Move bad_alloc vtable definition into __asm_dummy_vtables function.
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 b281c47144 msvcrt: Add scheduler_resource_allocation_error class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:57 +01:00
Piotr Caban a0a9b8fe74 msvcrt: Add ExternalContextBase::GetId implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:57 +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
Piotr Caban e70265feb6 msvcrt: Add Context class static functions stubs.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:03:36 +01:00
Daniel Lehman 5a10705f0c msvcrt: Call unwind handlers on intermediate frames during virtual unwind.
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-21 20:52:37 +01:00
Piotr Caban 41dd0eb457 msvcrt: Optimize Concurrency::event implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:26 +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 4db4d61bbb msvcrt: Add _Trace_ppl_function stub.
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:35 +01:00
Gijs Vermeulen 9b6455359a msvcrt: Add stub for Concurrency::Free.
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-03-20 13:21:17 +01:00
Gijs Vermeulen 32a4bec909 msvcrt: Add stub for Concurrency::Alloc.
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-03-20 13:21:09 +01:00
Piotr Caban a5031391f4 msvcr: Add __crtUnhandledException implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-16 19:54:09 +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
Piotr Caban 282b9e6c90 msvcr: Fix strftime spec file entry.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 20:10:22 +01:00
Piotr Caban a6400b9fe7 msvcr: Add _Wcsftime implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 20:10:22 +01:00
Piotr Caban 17186413fe msvcr: Add _get_dstbias implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
Piotr Caban a6bfecd401 msvcr100: Use InterlockedDecrement in SpinWait::_SpinOnce.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 15:03:13 +01:00
Piotr Caban 26d30c6315 msvcr110: Add _Lock_shared_ptr_spin_lock implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 15:03:11 +01:00
Piotr Caban 2682f9e67c msvcr100: Add _ReentrantBlockingLock class implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 19:03:19 +01:00
André Hentschel 673ef69309 msvcrt: Fix _CxxThrowException spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 12:38:24 +01:00
Piotr Caban 15b144b35d msvcrt: Add __ExceptionPtrCopyException implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 15:07:38 +01:00
Piotr Caban ec650d88f4 msvcrt: Use charmax to initialize lconv fields.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 16:44:46 +01:00
Carlo Bramini 5f2b9d5968 msvcrt: Use return value of *printf() instead of calling strlen() and simplify code.
Signed-off-by: Carlo Bramini <carlo_bramini@users.sourceforge.net>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 16:44:33 +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 10200af741 msvcr120: Add _except1 implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:54:07 +01:00
Piotr Caban 98a0c3df2e msvcrt: Add fesetenv implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 22:05:31 +01:00
Fabian Maurer 986a67ab37 msvcr120: Add fesetenv stub.
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>
2017-02-07 22:05:31 +01:00
Lauri Kenttä cabf96512a msvcrt/tests: Add tests for _creat.
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-02-07 22:05:31 +01:00
Lauri Kenttä 9924f009ce msvcrt: Fix _creat and _wcreat.
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-02-07 22:05:30 +01:00
Lauri Kenttä 2775931536 msvcrt: Check pmode in _wsopen_dispatch.
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-02-06 23:08:40 +01:00
Young Chung cd2c28433b ucrtbase: Add __conio_common_vcprintf()/_vcwprintf().
Signed-off-by: Young Chung <ychung@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:50 +01:00
Michael Stefaniuc 6fadcca527 msvcrt/tests: Use NULL instead of casting 0.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:49 +01:00
Daniel Lehman 09e4fc834d msvcrt: Implement nan.
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-01-27 16:31:45 +01: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
Lauri Kenttä b0ccba4b33 msvcrt/tests: Test wcstoi64 with various Unicode digits.
Test all Unicode digits which Windows seems to support.

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:33 +01:00
Piotr Caban a9c215cee3 msvcr100: Add reader_writer_lock implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 19:05:23 +01:00
Piotr Caban 245426c77e msvcr100: Add reader_writer_lock class stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 19:05:21 +01:00
Piotr Caban 7ba79ca9d2 msvcrt: Pass correct buffer size to snwprintf in DoMessageBoxW helper.
Spotted by Nikolay.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-27 18:16:54 +01:00
Hugh McMaster 87c1ce80f3 msvcrt: Fix typo in message_format array.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-23 13:30:31 +01:00
Alex Henrie df37daf175 msvcrt: Pass wide char caption string to MessageBoxIndirectW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-23 13:30:18 +01:00
Piotr Caban da071d939f msvcrt/tests: Correctly declare base class to avoid a compiler warning.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-22 15:08:00 +01:00
Alexandre Julliard cf51752d5f msvcrt: Disable relay for the __libm_sse2 functions.
The relay code can use the SSE registers too.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2016-12-21 18:37:21 +01:00
Daniel Lehman cada88a64b msvcrt: Add _lfind_s.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 12:14:44 +01:00
Stefan Silviu 4d37b87219 msvcrt: Implement nearbyint and nearbyintf.
Signed-off-by: Stefan Silviu <sylviu44@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-22 16:30:40 +01:00
Piotr Caban 5e981f8512 msvcr120: Add _Condition_variable implementation.
Based on patch by Yifu Wang.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-17 10:22:31 -06:00
Piotr Caban 84bed7664c msvcr110: Add Concurrency::details::_Condition_variable class stub.
Based on patch by Yifu Wang.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-17 10:22:27 -06:00
Piotr Caban 1680e98427 msvcrt: Improve multibyte characters support in printf.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 16:06:30 -06:00
Nikolay Sivov c03e5ed3be msvcrt: Added _wfindnext32().
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-11-04 17:55:07 +01:00
Nikolay Sivov cc77571898 ucrtbase: Added _sopen_dispatch/_wsopen_dispatch.
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-10-31 15:40:25 +01:00
Alexandre Goujon eac56fbda5 msvcrt: Implement 64-bit version of __std_type_info_hash.
Signed-off-by: GOUJON Alexandre <ale.goujon@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-06 21:27:52 +02:00
Piotr Caban 4931e6f92b ucrtbase: Add __std_type_info_hash implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:39:53 +09:00
Huw Davies fc64e2bfa6 ucrtbase: Add __stdio_common_vfscanf().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:28:05 +09:00
Huw Davies f22769f81a ucrtbase: Add __stdio_common_vswscanf().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:28:00 +09: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
Bernhard Übelacker 4fa616c37c msvcrt: Fix strtok_s and _mbstok_s for empty strings.
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:15 +09:00
Piotr Caban dd4c9358f6 msvcrt: Add _wcreate_locale.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:37 +09:00
Daniel Lehman 48340bd1fe ucrtbase: Add __stdio_common_vfwscanf.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:37 +09:00
Daniel Lehman 28a5405968 msvcr120: Add lgamma.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:30:11 +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 1505684a85 msvcrt: Add _strftime_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:46 +09:00
Piotr Caban d6948bf356 msvcrt: Add support for multibyte characters in _Strftime.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:07:29 +09:00
Piotr Caban 7dfb21a9db msvcrt: Fix parameters conversion in wcsftime function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:07:22 +09:00
Piotr Caban 882980c17a msvcrt: Don't set frame to 0 in x86_64 _setjmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 23:59:54 +09:00
Huw Davies 10eb6fa718 ucrtbase: Add support for natural string widths.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:59 +09:00
Piotr Caban 4ba09e11a8 ucrtbase: Add __std_type_info_destroy_list implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 10:07:12 -05:00
Piotr Caban 2487168b75 ucrtbase: Add __std_type_info_name implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 10:07:06 -05:00
Piotr Caban 0707164543 ucrtbase: Fix __std_type_info_compare implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 10:06:59 -05:00