Commit Graph

2346 Commits

Author SHA1 Message Date
Sven Baars f6ec5d1819 ucrtbase: Don't differentiate for 64-bit in __fpe_flt_rounds.
The previous behavior was only present on w1064v1507, and not on
any other version of Windows (both older and newer).

Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:38:39 +02:00
Vijay Kiran Kamuju 8e1435ef81 msvcrt: Implement %h format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:38:33 +02:00
Vijay Kiran Kamuju 0bdaecd2d7 msvcrt: Implement %e format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:06 +02:00
Martin Storsjo 56e6ce93b8 msvcrt: Fix the layout of threadlocaleinfostruct for ucrt.
In ucrt, this struct has a different layout, with only three fields
exposed in headers (which can be used by inline functions).

This fixes use of some ctype.h functions like e.g. _isdigit_l
from applications that use ucrt (both with MSVC and mingw-w64).

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:16:48 +02:00
Vijay Kiran Kamuju 3762402779 msvcrt: Implement %C format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:16:34 +02:00
Vijay Kiran Kamuju 5da8af40dd msvcrt: Implement %F format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:09 +02:00
Vijay Kiran Kamuju 1ed44b3554 msvcrt: Implement %D format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:09 +02:00
Piotr Caban 127d9932d9 msvcrt: Add wcrtomb_s tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban a57d67b9bc msvcrt: Add wcrtomb_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Vijay Kiran Kamuju 20810377ed msvcrt: Implement %R format for strftime.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban 30913ff564 msvcrt: Don't write past buffer in strftime.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban 3577f06f71 msvcrt: Fix _putws implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47615
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 18:18:22 +02:00
Andrew Eikum bfe02fc747 msvcrt: Implement %T format for strftime.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 17:43:31 +02:00
Alexandre Julliard 0c853f0265 msvcrt: Move vtbl wrappers together with the other functions.
The .text directive can mess up the variable definitions.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47751
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 13:57:06 +02:00
Piotr Caban 702b1e29d5 msvcrt: Match broken multi-byte character with everything in _mbsspn.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa ab525d3f6f msvcrt: Reimplement _mbsspnp using _mbsspn.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47693
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa f0f93c791f msvcrt: Fix _mbsspn implementation.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa c62c51c04a msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Akihiro Sagawa 996cb72c8e msvcrt/tests: Restore the multibyte codepage after the tests.
N.B. _setmbcp() doesn't return the previous codepage.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:43:52 +02:00
Jacek Caban 0f15515cc2 mscvrt: Always provide float variants of math functions in importlib on x86.
We have them declared as inline wrappers around double variant in
math.h, but that's not enough. clang is smart enough to optimize them
back to *f variants anyway.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:15 +02:00
Alexandre Julliard ed6aa17d98 msvcrt: Simplify stack layout in __crtCapturePreviousContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Alexandre Julliard 44a6043388 ntdll: Move some exception definitions to winnt.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 13:17:37 +02:00
Jacek Caban 873a90e6f3 msvcrt: Avoid conflict with mingw __iob_func declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 18:11:16 +02:00
Jacek Caban 8445055b72 msvcrt: Export __p__iob only on i386.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 01:59:23 +02:00
Jacek Caban a0c424b111 msvcrt: Use __iob_func instead of __p__iob in __acrt_iob_func implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 01:58:36 +02:00
Jacek Caban 9246fca312 msvcr70: Provide floating point function wrappers in importlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Martin Storsjo e38b46e7f7 msvcrt: Implement the tgamma functions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:57:12 +02:00
Martin Storsjo 83a95b8fcf msvcrt: Implement the fdim functions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:56:56 +02:00
Martin Storsjo dec4c99ae7 msvcrt: Provide the fmaf function on i386.
This is one of the new -f suffixed C99 math functions that actually
are available on all architectures, even on i386.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 19:12:03 +02:00
Dmitry Timoshkov 9ade30d0ce msvcrt: Fix handling of dst == src in wcscpy_s.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:43:37 +02:00
Dmitry Timoshkov c28af247e9 msvcrt: Add '-norelay' flag for _vsnprintf().
Otherwise for instance +relay,+msi log has msi: traces completely messed up.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Alexandre Julliard 61680b4449 winecrt0: Provide our own setjmp/longjmp functions for exception handling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Zebediah Figura 9445bed298 ucrtbase: Write the %hh prefix as a single char.
This fixes a crash in Planet Coaster on startup.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:19:32 +02:00
Alexandre Julliard 4685e88de8 msvcrt/tests: Don't use win_skip for functions that are not exported on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 20:20:09 +02:00
Alexandre Julliard a16ef96dc6 include/msvcrt: Add INFINITY and NAN definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 15:03:37 +02:00
Alexandre Julliard 030a460934 ucrtbase: Move the vsnprintf() wrapper function to the ucrtbase import library.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47250
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Andrew Eikum fa54e895a7 msvcrt: Implement fma and fmaf.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Alexandre Julliard 0a79eb3608 include: Use the __thiscall attribute directly for the Mingw build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard ee4db2005e include: Define thiscall assembly wrappers globally.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 20:11:19 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Martin Storsjo 869e0a6360 msvcrt: Hook up _setjmpex for arm64 as well.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 12:44:28 +02:00
Martin Storsjo 8582615894 msvcrt: Hook up the unprefixed logb/logbf/logbl functions for msvcr120/ucrtbase.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:39:59 +02:00
Martin Storsjo fc1107382b msvcrt: Fix the fallback implementation of asinh for large negative values.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:39:46 +02:00
Alexandre Julliard 52bff1fdfe msvcrt: Don't export the __p__* functions on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:28:10 +02:00
Alexandre Julliard d4ef782db7 makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Martin Storsjo de8be4a09c msvcrt: Implement the remquo family of functions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Martin Storsjo f20be3b00c msvcrt: Implement _get_environ and _get_wenviron.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Alexandre Julliard 7b83b6b9de msvcrt/tests: Add a function pointer to bypass builtin printf().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Alexandre Julliard 9a4b596ed9 msvcrt/tests: Add some function pointers to bypass gcc builtin functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:01:46 +02:00
Alexandre Julliard 2e01a48440 msvcrt/tests: Use existing function pointers to call functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:01:46 +02:00