Piotr Caban
83fb79d41d
msvcrt: Use %#I64x 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
Alexandre Julliard
3ebc80f148
msvcrt: Don't forward itoa() functions to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:19:33 +01:00
Alexandre Julliard
68559674e7
msvcrt: Don't forward string functions to ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:19:33 +01:00
Rémi Bernon
7c046c7afd
msvcrt: Write memory forward in memset.
...
Instead of going backward, which breaks the Linux kernel transparent
huge pages allocation assumptions.
This can be reproduced by calling memset on large, newly allocated,
memory regions.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 21:16:29 +02:00
Piotr Caban
2c01333d03
msvcrt: Use unaligned data types in memset.
...
This fixes a regression in memset on ARM described by Martin:
ARM can do 64 bit writes with the STRD instruction, but that
instruction requires a 32 bit aligned address - while these stores
are unaligned.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Rémi Bernon
7b17d70815
msvcrt: Improve memset performance using overlapping stores.
...
For n larger than 16 we store 16 bytes on each end of the buffer,
eventually overlapping, and then 16 additional bytes for n > 32.
Then we can find a 32-byte aligned range overlapping the remaining part
of the destination buffer, which is filled 32 bytes at a time in a loop.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:37:32 +02:00
Martin Storsjo
057ecd41cc
msvcrt: Fix strtof() error reporting for values out of float range.
...
If the values weren't out of range for the internal strtod() call,
we still must mark them as out of range when returning as float.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Piotr Caban
bf7244442d
msvcrt: Update search position when no token was found in strtok.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Piotr Caban
38c4904960
msvcrt: Improve memmove performance on i386 and x86_64 architectures.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49663
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 10:28:39 +01:00
Piotr Caban
7d94c4f0e4
ntdll: Fix memchr implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50228
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 17:51:07 +01:00
Piotr Caban
f67f1ce79e
msvcrt: Remove non-needed defines from msvcrt.h.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:41:16 +01:00
Piotr Caban
4f2f3545e5
msvcrt: Remove MSVCRT_ prefix from math.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 21:00:22 +01:00
Piotr Caban
6ad42ee7f4
msvcrt: Remove MSVCRT_ prefix from wcs.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 21:00:22 +01:00
Piotr Caban
1514c54ce5
msvcrt: Remove MSVCRT_ prefix from string.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:38:24 +01:00
Piotr Caban
176aebb0c5
msvcrt: Remove MSVCRT_ prefix from ctype.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:02:58 +01:00
Piotr Caban
d784dbb899
msvcrt: Remove MSVCRT_ prefix from heap.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:31 +01:00
Piotr Caban
eeada5682b
msvcrt: Remove MSVCRT_ prefix from errno.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:25 +01:00
Piotr Caban
e9a1ff1130
msvcrt: Use locale category definiotion from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban
811647dff4
msvcrt: Use _CRT_FLOAT and _CRT_DBL from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban
1317b935ef
msvcrt: Use errno values from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban
7acfe8fb73
msvcrt: Use WEOF from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban
fa272adaeb
msvcrt: Use simple type definitions from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban
758460faf7
msvcrt: Use type ranges definition from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban
b0a302ccea
msvcrt: Use wide-char string literals.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban
c302397c73
msvcrt: Remove MSVCRT_wchar_t type.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban
5114c85a03
msvcrt: Remove MSVCRT__locale_t type.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Piotr Caban
d5c0458bd1
msvcrt: Remove MSVCRT_pthreadlocinfo type.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Piotr Caban
70c06601e6
msvcrt: Remove MSVCRT_lconv type.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
191bdeaff3
msvcrt: Build with msvcrt headers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Alexandre Julliard
f48648aeec
msvcrt: Use the msvcrt atoi() function internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
1be5e83859
msvcrt: Use the msvcrt math functions internally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Alexandre Julliard
1f27361894
msvcrt: Avoid long double type in $I10_OUTPUT().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 13:46:26 +01:00
Piotr Caban
dd90fdda0e
msvcrt: Optimize memmove implementation.
...
Based on Torbjorn Granlund code from Glibc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49663
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 16:54:39 +02:00
Piotr Caban
29288c0bc0
msvcrt: Fix rounding of numbers smaller than minimal subnormal.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:49 +02:00
Piotr Caban
a22adf1893
msvcrt: Don't use strtold in __STRINGTOLD_L.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
b22ffa5891
msvcrt: Don't depend on additional mantissa bits when rounding.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
8fc48e8bc2
msvcrt: Create 64-bit mantissa in fpnum_parse.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
450015781e
msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
7495821974
msvcrt: Support arbitrary buffer size in bnum.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
413e34df58
msvcrt: Add __STRINGTOLD_L and _atoldbl_l partial stubs.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Piotr Caban
a511c0937c
msvcrt: Copy strrchr implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
d9c9d21d66
msvcrt: Copy strpbrk implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
3b0fb2b175
msvcrt: Copy strncat implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
770d3b8623
msvcrt: Copy strlen implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
45be36130f
msvcrt: Copy strchr implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
f676355366
msvcrt: Copy strcat implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
41a5da9b76
msvcrt: Copy memset implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
f02193738c
msvcrt: Copy memmove implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
773f0a835b
msvcrt: Copy memcmp implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00
Piotr Caban
9d4eeaeb77
msvcrt: Copy memchr implementation from ntdll.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:22:16 +02:00