Commit graph

3060 commits

Author SHA1 Message Date
Piotr Caban 548a6afccb msvcr100: Fix crash when setting scheduler in schedule_task_proc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53672
2022-09-19 20:12:51 +02:00
Shaun Ren 6d2a9af43b msvcrt: Fix strncmp return value.
Some programs, such as Final Fantasy IV (3D remake), expect strncmp
to return exactly +/-1 when the strings are not equal.

Signed-off-by: Shaun Ren <sren@codeweavers.com>
2022-09-19 20:12:32 +02:00
Zebediah Figura 5714042137 msvcrt: Add SEH annotations for sse2_memcpy().
This allows unwinding from a crash inside the function.
2022-09-07 21:16:47 +02:00
Francois Gouget 8f51e6bd47 msvcrt: Fix the spelling of a comment. 2022-09-07 21:16:14 +02:00
Nikolay Sivov b007ee9234 msvcrt: Remove mention of obsolete libwine function.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-01 17:44:24 +02:00
Nikolay Sivov ee7794073b msvcrt: Use size_t for the size in wcsdup().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-01 17:44:24 +02:00
Eric Pouech 9a98276f98 msvcrt: Fix order of extended qualifiers and qualifiers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Eric Pouech 638b06015b msvcrt: Use enum to clarify post-processing actions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Eric Pouech 22362757ad msvcrt: Undecorate function signature as template argument.
Introducing get_function_signaturei() to factorize parsing of function
signature.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Eric Pouech 5e37bcf794 msvcrt: Fix white space output for typecast operator.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Eric Pouech 507a02c1d3 msvcrt: Improve support for template in methods.
Adding function template support for methods that need specific
post processing in demangling
(constructor, destructor, cast operator)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Eric Pouech 766085edd2 msvcrt: Correctly support space generation in pointers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-08-31 17:44:53 +02:00
Piotr Caban d22275a1dc msvcr100: Set scheduler in tasks created with ScheduleTask function. 2022-08-24 12:27:43 -05:00
Torge Matthies 581a35d1bf msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-08-24 12:27:23 -05:00
Torge Matthies e704c44542 msvcr100: Factor out the mapping of a context to a scheduler.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-08-24 12:27:23 -05:00
Eric Pouech cadac12760 msvcrt: Fix demangling of variables being an array.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-18 10:40:57 +02:00
Eric Pouech b02d5bb8c4 msvcrt: Add support for restrict and unaligned qualifiers in demangling.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-18 10:40:54 +02:00
Eric Pouech 464d049149 msvcrt: Fix and cleanup undecoration of templatized functions and methods.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-18 10:40:51 +02:00
Eric Pouech e0b6ceeaac msvcrt: Add support for C++11 operator "" in demangling.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-18 10:40:50 +02:00
Eric Pouech d89e7cd443 msvcrt: Fix demangling of RTTI type descriptor.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-18 10:40:48 +02:00
Torge Matthies 013ba6aaa1 msvcr100: Implement invalid_multiple_scheduling exception.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-07-18 10:40:13 +02:00
Torge Matthies 35a2206d07 msvcr100: Make all exception ctors with a string parameter trace the string.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-07-18 10:40:13 +02:00
Torge Matthies 3a25d00108 msvcr100: Add _StructuredTaskCollection::_IsCanceling stub.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Torge Matthies 3b1df19cdb msvcr100: Add _StructuredTaskCollection::_Cancel stub.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Torge Matthies 4b5c486aae msvcr100: Add _StructuredTaskCollection::_RunAndWait stub.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Torge Matthies 09a6881ca2 msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Torge Matthies d31e54d61c msvcr100: Add _StructuredTaskCollection::_Schedule stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47375
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Torge Matthies ccde147084 msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-04 23:33:23 +02:00
Alexandre Julliard 50aaedffc9 msvcrt: Unify the strncat_s() and wcsncat_s() implementations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-27 11:23:32 +02:00
Alexandre Julliard fdcf03fb72 msvcrt: Unify the strncpy_s() and wcsncpy_s() implementations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-27 11:23:32 +02:00
Alexandre Julliard 3514e65f26 msvcrt: Move the strncpy_s() implementation to string.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-27 11:23:32 +02:00
Akihiro Sagawa b4f20eec46 msvcrt: Avoid passing an invalid LCID to LCMapStringW.
Because it complains as follows on startup in Japanese locale:
002c:err:msvcrt:create_mbcinfo WideCharToMultiByte failed for cp 932, ret=0 (exp 196), error=122

This happens after commit c2a455a20d.

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>
2022-06-09 13:20:13 +02:00
Martin Storsjö ce4fdb1517 msvcrt: Hook up __C_specific_handler and __jump_unwind for arm.
This was set up for arm in ntdll and ucrtbase in
3ef9a04f91, but msvcrt was missed.

Also hook them up similarly in msvcr110, msvcr120 and msvcr120_app.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 20:46:49 +02:00
Piotr Caban b35faeb503 msvcrt: Reject UTF-8 locales in setlocale function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-12 22:19:20 +02:00
Jan Sikorski d5a0334b13 msvcrt: Faster memcmp().
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 14:45:18 +02:00
Piotr Caban 7af93f497c msvcrt: Use TICKSPERMSEC define in concurrency functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:15:15 +02:00
Torge Matthies 881879c658 msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:37:56 +02:00
Alexandre Julliard 83a3a5c75b msvcrt: Fix mbcs initialization for UTF-8 codepage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-13 16:03:14 +02:00
Alexandre Julliard 812ebc67a4 kernelbase: Fix IsValidLocale() and GetLocaleInfo() with special LOCALE_* identifiers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-07 22:44:39 +02:00
Paul Gofman cbbe8ad73a ucrtbase: Update ioinfo structure.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:50:57 +02:00
Paul Gofman 1c9e9ec360 msvcrt: Use newer ioinfo structure for _MSVC_VER >= 80.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:50:57 +02:00
Paul Gofman 4c90f58bb5 msvcr80: Fix ioinfo structure definition.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:50:57 +02:00
Paul Gofman 2636c9e80e msvcrt/tests: Add test for ioinfo->exflag.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:48:59 +02:00
Piotr Caban 2d2dba5374 msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45916
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-04 09:47:49 +02:00
Alexandre Julliard f14adf5928 msvcrt: Use EnumSystemLocalesEx instead of directly accessing kernel32 resources.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-31 11:02:32 +02:00
Alexandre Julliard 2c70ed249a kernelbase: Reimplement LOCALE_*CTRYNAME in GetLocaleInfoW/Ex using the locale.nls data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-28 22:21:28 +02:00
Alexandre Julliard 85a39a9773 kernelbase: Reimplement LOCALE_*LANGNAME in GetLocaleInfoW/Ex using the locale.nls data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-28 22:20:48 +02:00
Piotr Caban 746df92dba msvcr110: Make sure we don't hang in _Condition_variable::notify* functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-16 21:16:21 +01:00
Piotr Caban d81afa52ec msvcrt/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 11:04:19 +01:00
Piotr Caban 4397d97d91 msvcrt: Print 0x prefix with %#x format in traces.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00