Commit Graph

2270 Commits

Author SHA1 Message Date
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
Nikolay Sivov ff49f86fa1 ucrtbase: Added __stdio_common_vswprintf_p().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:09:18 -05:00
Nikolay Sivov b6fd195279 ucrtbase: Added __stdio_common_vswprintf_s().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 09:08:28 -05:00
Nikolay Sivov 24291f2b6a ucrtbase: Added __stdio_common_vsnwprintf_s().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:17 -05:00
Nikolay Sivov 1411d800ee ucrtbase: Implement _get_narrow_winmain_command_line/_get_wide_winmain_command_line.
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-07-28 21:38:10 +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 42c2799589 msvcrt: Return error when previously parsed type is accessed while demangling simple data type.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 23:07:22 +09:00
Piotr Caban 13ebdcb856 msvcrt: Use debugstr_a to trace strings in __unDName function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 23:07:22 +09:00
Michael Stefaniuc dbafbcccfc msvcrt: Remove redundant NULL checks before free().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 20:13:38 +09:00
Piotr Caban d9bacd98d8 msvcrt: Improve x86_64 nested exceptions handling.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 11:49:39 +09:00
Piotr Caban 4facdec686 msvcrt: Remove unused call_dtor function.
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 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
Erich E. Hoover 6afda19f48 msvcrt: Add support for _fstat32i64.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 18:51:22 +09:00
Hugh McMaster 56eb4d3105 msvcrt: Implement _wperror.
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-06-22 22:09:17 +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
Alex Henrie 8a69c5d81f ucrtbase: Implement _realloc_base.
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-06-17 22:27:50 +09:00
Alex Henrie e4b8bc0edc ucrtbase: Implement _free_base.
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-06-17 22:27:50 +09:00
Alex Henrie 5325b8c951 ucrtbase: Implement _malloc_base.
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-06-17 22:27:50 +09:00
Alex Henrie fdc57d497b ucrtbase: Implement _calloc_base.
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-06-17 22:27:50 +09:00
Alexandre Julliard 1edd0f4d1d msvcrt: Get rid of the LOCK_LOCALE macros.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:23 +09:00
Alex Henrie c044cf410d ucrtbase: Implement _(un)lock_locales.
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-06-17 00:09:23 +09:00
Piotr Caban c4ab42d88c msvcrt: Fix C locale handling in wcstombs.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 19:20:21 +09:00
Piotr Caban f091d9edf6 msvcrt: Fix C locale handling in mbstowcs.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 19:20:19 +09:00
Piotr Caban 7efd0c2c79 msvcrt: Return error in mbstowcs if conversion fails.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 19:20:17 +09:00
Piotr Caban 6b6f3406f4 ucrtbase: Add __fpe_flt_rounds implementation.
Based on a patch by Alex Henrie.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:46:38 +09:00
Alex Henrie a88c35d0dc msvcrt: Stub out _(get|set)_thread_local_invalid_parameter_handler.
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-06-09 18:26:22 +09:00
Piotr Caban c996b8a02f msvcr110: Fix critical_section_scoped_lock structure size.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:24:14 +09:00
Hadrien Boizard 39037a14e8 msvcrt: Use BOOL type where appropriate.
Signed-off-by: Hadrien Boizard <h.boizard@laposte.net>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 11:31:01 +09:00
Piotr Caban acba871d53 msvcrt: Add mbsrtowcs_s tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 21:16:51 +09:00
Piotr Caban 540d969150 msvcrt: Add mbsrtowcs_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 21:16:49 +09:00
Piotr Caban 4f5a68412b msvcrt: Fix mbsrtowcs behavior when no out buffer is passed.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 21:16:43 +09:00
Nikolay Sivov 1b072058ac msvcrt/tests: Fix a test failure on early XP versions.
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-05-16 21:16:35 +09:00
Piotr Caban a36b5f0741 msvcrt: Fix mbtowc behavior for buffers containing more than one character.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 12:09:22 +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
André Hentschel a313c9b7f9 msvcrt/tests: Don't test function directly when reporting errno.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:52 +09:00
Nikolay Sivov 50dd4b8928 msvcrt: Handle overflow in calloc().
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-04-27 20:49:42 +09:00
Nikolay Sivov f3465ecbae ucrtbase: Implement _execute_onexit_table().
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-04-27 20:48:58 +09:00
Piotr Caban 4f8aafbe28 msvcr120: Add __ExceptionPtrToBool implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:41:19 +09:00
Nikolay Sivov 5f490de459 ucrtbase: Implement _register_onexit_function().
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-04-26 21:37:15 +09:00
Nikolay Sivov 4551b72e75 ucrtbase: Implement _initialize_onexit_table().
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-04-26 21:37:09 +09:00
Francois Gouget 8e382e97e9 msvcrt: The fpclass() constants are not defines.
Solaris is the only platform that has fpclass() and it defines
the constants in the fpclass_t enum.
So this reverts commit b004771314.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:52 +09:00
Nikolay Sivov 21fd1d3729 msvcrt: Fix calloc() prototype.
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-04-26 14:48:47 +09:00
Daniel Lehman 4f6f0f09fd ucrtbase: Add __std_exception_destroy/copy.
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-04-13 23:36:01 +09:00
Daniel Lehman 2f783c6828 ucrtbase: Add __stdio_common_vfwprintf.
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-04-13 23:01:06 +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
Daniel Lehman d9a0c55e7e msvcr120: Add remainder.
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-04-07 20:58:11 +09:00
Daniel Lehman 2841a05025 ucrtbase: Return initial env snapshot in _get_initial_narrow_environment.
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-04-06 20:07:32 +09:00
Daniel Lehman 46000add48 ucrtbase: Add _get_initial_wide_environment.
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-04-06 20:07:27 +09:00
Daniel Lehman 2ea84373cf ucrtbase: Add some wide functions called on startup.
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-04-05 12:51:09 +09:00
Daniel Lehman 9acfcb0eba msvcr120: Add scalbn.
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-04-05 00:06:44 +09:00
Daniel Lehman e084240415 msvcr120: Add asinh.
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-03-31 19:49:41 +09:00
Piotr Caban 953d6c88d1 msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:59 +09:00
Piotr Caban 63aea551ca msvcrt: Add x86_64 __CxxFrameHandler implementation.
Known issues:
  - exceptions are destroyed too late in case of rethrow
  - no longer used cxx_frame_info structures are freed incorrectly

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:52 +09:00
Piotr Caban 776c4a1617 msvcrt: Improve dump_function_descr helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:33 +09:00
Piotr Caban bc71c7decb msvcrt: Call C structured exception translator in x86_64 __CxxFrameHandler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:31 +09:00
Piotr Caban 97567074a5 msvcrt: Update previous exception stored in cxx_frame_info after frames unwinding.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-23 22:58:23 +09:00
Piotr Caban 3a0b3c5bc8 msvcrt: Register exception object before unwinding.
Thrown object was incorrectly freed in following situation:
try {
     try {
         throw obj;
     } catch(...) {
         throw;
     }
} catch(...) {
     //use object here
}

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:31 +09:00
Piotr Caban fdcdbf306a msvcrt: Restore exception object stored in thread storage after frames unwinding.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:25 +09:00
Piotr Caban 3350364d8b msvcrt: Dump exception information in x86_64 __CxxFrameHandler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:19 +09:00
Piotr Caban 1a8015cb4d msvcrt: Fix exception parameters number validation in x86_64 __CxxDetectRethrow.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:10 +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 856f0f9d13 msvcrt: Handle non c++ exceptions in __DestructExceptionObject.
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 8348d4b40e msvcrt: Add __CxxUnregisterExceptionObject partial implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:25 +09:00
Piotr Caban 76411c8dc5 msvcrt: Add __DestructExceptionObject implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:20 +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 29f547d2ce msvcr80: Add _FindAndUnlinkFrame implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:09 +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 f085be3028 msvcrt: Destroy exception object when frame storing it is unwound.
Thrown object was incorrectly freed in following situation:
try {
     throw obj;
} catch(object &obj) {
     try {
         throw 1;
     } catch(...) {}

     //use object here
}

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Piotr Caban 2d4b48a58d msvcrt: Handle try blocks inside current catch block in nested frame handler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Piotr Caban 941e4f7e9d msvcrt: Destroy exception object if it's no longer used when exiting catch.
Thrown object was incorrectly freed in following situation:
try {
     throw obj;
} catch(object &obj) {
     try {
         throw;
     } catch(...) {}

     //use object here
}

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Piotr Caban 0ef61844b8 msvcrt: Add i386 _IsExceptionObjectToBeDestroyed implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Piotr Caban 97b9ff81b8 msvcrt: Fix 64-bit _CxxThrowException implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-25 22:45:07 +09:00
Frédéric Delanoy 0da6cca13c msvcrt/tests: Use todo_wine_if() in tests.
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-22 19:54:49 +09:00
Piotr Caban 96d476584e msvcrt/tests: Add close tests on file descriptors that use the same HANDLE.
Based on Qian Hong patch.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-20 12:09:22 +09:00
Piotr Caban 781b069ed8 msvcrt: Don't close HANDLE if stdout or stderr is sharing it.
Based on Qian Hong patch.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-20 12:09:19 +09:00
Piotr Caban 4ee316a997 msvcr120: Add wcstof implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 15:10:20 +09:00
Bernhard Übelacker 78716aebf8 msvcr120: Implement strtof and _strtof_l.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 15:10:20 +09:00
Piotr Caban aff5d2c1f3 msvcrt: Don't use isdigit in places where only 0-9 digits are handled.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 15:10:20 +09:00
Francois Gouget 981c16e4e6 msvcrt/tests: Fix the Norwegian locale tests on Windows 10.
Also add comments to indicate which Windows version returns what.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 22:58:25 +09:00
Sebastian Lackner 340f1615bd msvcrt/tests: Use brackets to protect arguments in call_func2 macro.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 20:26:22 +09:00
Rafał Harabień ad9ab7c40b msvcr120: Implement atoll, _atoll_l, _wtoll, _wtoll_l.
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:25:57 +09:00
Paul Gofman faf59e5f06 msvcrt: Handle of thread created by _beginthread should not be closed on thread detach.
Handle should be closed if _endthread is called or thread function
exits. If thread is terminated by ExitThread or _endthreadex, thread
handle remains valid.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:41:22 +09:00
Piotr Caban 6ac2acc34f msvcrt: Add support for $$B datatype description format in unDName.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-21 17:01:45 +09:00
Piotr Caban 112ad7fc87 msvcrt: Add support for member function pointers demangling in unDName function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-21 17:01:45 +09:00
Piotr Caban 59ed8c593c msvcr110: Add _W_Gettnames implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 21:19:27 +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 9189eb2208 msvcrt: Fix size test of structure returned by _Gettnames.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 21:19:17 +09:00
Piotr Caban ecfc10bbfb msvcrt: Add _crt_debugger_hook implementation.
Based on a patch by Andrey Zhezherun.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 01:48:52 +09:00
Piotr Caban 68fedc1268 msvcr120: Add _set_FMA3_enable stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 14:31:46 +09:00
Piotr Caban 4083af404b msvcr120: Add _dpcomp implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 01:59:58 +09:00
Piotr Caban 0806b06f2b msvcrt: Fix modff signature.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 01:06:46 +09:00
Alexandre Julliard 0ea5a01ca2 msvcrt/tests: Don't check array pointer for NULL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 01:56:06 +09:00
Alexandre Julliard e4f92e04a7 msvcrt: Don't import atexit to avoid conflicts with the Mingw runtime.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 19:10:03 +09:00
YongHao Hu 072f34be73 msvcr120: Enable MSVCRT__nextafterf when _MSVCR_VER>=120.
Signed-off-by: YongHao Hu <christopherwuy@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:51:59 +01:00
André Hentschel 51098fcd94 msvcrt: Don't continue on demangle failure (Coverity).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:32:13 +01:00
Nikolay Sivov 7e86ab3df6 msvcrt: Fix cwscanf* prototypes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:32:09 +01:00
Nikolay Sivov d99727bcb3 msvcrt: Fix char to int promotion that breaks pattern lookup.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:31:53 +01:00
Piotr Caban 77feb6938d msvcrt: Add _wtmpnam_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 18:23:43 +01: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
Paul Gofman a3c818b33d msvcrt: Rename __libm_sse2_* functions to fix compilation when using Intel compiler.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:51:32 +01:00
Piotr Caban 9f532321d0 msvcrt: Return error if last known character is further in the string then current character.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:20:00 +01:00
Piotr Caban 5e10634a5a msvcrt: Add _strtol_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:54 +01:00
Sebastian Lackner e00999ccf4 msvcrt: Fix specfile entry for $I10_OUTPUT and _wcstod_l.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:47 +09:00
Andrey Gusev 8bfc9bd2ee Assorted typos fixes.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 15:38:30 +09:00
Hugh McMaster 11669fa5e2 Assorted spelling and grammar fixes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-17 22:56:40 +09:00
Martin Storsjo 91ed0d7963 msvcrt: Don't lock the heap in operator_new.
The native msvcrt/msvcp allow two threads to be calling
the new handler simultaneously.

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-09 23:10:06 +09:00
Martin Storsjo e66758dd53 msvcrt: Pass on the return value in _callnewh.
Also try to avoid race conditions by storing the new handler in a local
variable before checking whether it's non-null.

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-09 23:10:06 +09:00
Martin Storsjo 78ce165f11 ucrtbase: Implement __std_type_info_compare.
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-06 21:59:08 +09:00
Martin Storsjo 8cc5b07e9d ucrtbase: Implement _get_stream_buffer_pointers.
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-05 21:20:47 +09: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 4a79e54917 ucrtbase: Handle the C99 'z' size_t specifier for integers.
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:32 +09:00
Martin Storsjo 494572ed4d msvcrt: Interpret 'I' as size_t size specifier for integer conversions.
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:27 +09:00
Martin Storsjo b9d0f5d562 ucrtbase: Implement the new printf corner case behaviour.
Check the option flags whether the new or old legacy behaviours are
wanted.

For _MSVCR_VER < 140, don't check the option flags but hardcode them to
TRUE. (This avoids having to manually add all three flags into every
caller of pf_printf.) Mask out any other flags, to avoid other
out-of-range flags to be interpreted as the other flags (positional
params, invoke invalid param handler).

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:19:12 +09:00
Martin Storsjo 1d17e85026 msvcrt: Ignore 'N' as format length modifier for pointers, just like 'F'.
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:07 +09:00
Martin Storsjo 1c8412d9e5 msvcrt: Refactor pf_printf to take options as flags instead of as BOOL parameter.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:18:56 +09:00
Martin Storsjo b09aadd202 ucrtbase: Handle the swprintf style termination and return values.
When neither the "legacy vsprintf null termination" nor the "standard
snprintf behaviour" flags are specified, the functions return -2 when
the output string didn't fit (similar to old style msvcrt _snprintf that
returned -1), but they are null terminated (similar to the C99 snprintf
style behaviour). This is the same way as the C99 swprintf function
behaves.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:18:42 +09:00
Martin Storsjo fcf9ec8080 ucrtbase: Add defines for the printf/scanf options constants.
Avoid using hardcoded magic numbers for these options.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Martin Storsjo 2a74c9a8ed ucrtbase: Fix the function name in a comment.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Martin Storsjo 436eb3639c ucrtbase: Implement 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-10-29 21:20:09 +09:00
Martin Storsjo 255a7fe067 ucrtbase: Implement some printf functions.
Not all functions are implemented (yet not all variants are
implemented in the normal msvcrt either).

The new functions are more generalized and are C99 compliant.
They take an options parameter that e.g. for the snprintf
family of functions indicate whether the truncation and return
value should be handled as before or in the standards compliant
way.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:24 +09:00
Martin Storsjo bf4493404c msvcrt: Remove a stray semicolon.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 23:35:29 +09:00
Nikolay Sivov d8623f8241 msvcrt/tests: Use matching type to get array element count (PVS-Studio).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 18:41:17 +09:00
Sebastian Lackner 4e941a9289 msvcrt: Pass cookie reference to msvcrt_local_unwind4 instead of value.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-05 22:27:13 +09:00
Martin Storsjo 8578702e06 ucrtbase: Make the strtod implementation C99 compatible.
Add a test for ucrtbase that verifies these aspects of the C99
behaviour of strtod.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-10-02 20:50:10 +09:00