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
Piotr Caban
aa612612b7
msvcr60: Fix _mbscoll implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-10-02 15:38:35 +09:00
Piotr Caban
07762576c4
msvcrt: Add i386 __CxxExceptionFilter implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-10-01 16:32:34 +09:00
Piotr Caban
f9bae3e5a2
msvcrt: Only create locale categories that have changed in setlocale function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-09-25 21:04:13 +02:00
Piotr Caban
f075043273
msvcrt: Use create_locinfo helper in setlocale implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-09-25 21:04:12 +02:00
Piotr Caban
ca8ef840ad
msvcrt: Add create_locinfo helper function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-09-25 21:04:10 +02:00
Piotr Caban
905daf251a
msvcrt: Pass pthreadlocinfo to set_lc_locale_name function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-09-25 21:04:04 +02:00
Piotr Caban
d04c895b91
msvcrt: Pass pthreadlocinfo to update_threadlocinfo_category helper function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-09-25 21:04:00 +02:00
Piotr Caban
ecac39c19b
msvcrt: Add _wctime32_s implementation.
2015-09-15 17:02:11 +09:00
Piotr Caban
09a727c33c
msvcr120: Add fmin implementation.
2015-09-14 16:47:52 +09:00
Piotr Caban
b408b5a9a4
msvcrt/tests: Fix tolower test failures.
2015-09-14 16:47:52 +09:00
Andrey Gusev
d3177504b1
Assorted spelling and typos fixes.
2015-08-31 20:18:46 +09:00
Martin Storsjo
8edbd9b381
msvcrt: Test that the normal strtod doesn't handle the "NAN" string.
2015-08-31 14:50:42 +09:00
Martin Storsjo
a4d5bf99d4
ucrtbase: Add stub functions for narrow environment.
2015-08-28 13:15:06 +09:00
Martin Storsjo
9303c6eeed
ucrtbase: Hook up _crt_atexit.
2015-08-27 17:10:08 +09:00
Daniel Lehman
e26131fea3
msvcrt: Use msvcrt free instead of HeapFree on tls data.
2015-08-26 14:15:13 +09:00
Carlo Bramini
21a14e9612
msvcrt: SEEK_* macros from GLIBC should be replaced with safer MSVCRT_SEEK_* macros.
2015-08-19 08:39:02 +09:00
Andrey Gusev
5cdcd4493f
Assorted spelling and typos fixes.
2015-08-18 15:00:13 +09:00
Carlo Bramini
13f34481b2
msvcrt: Use MSVCRT_xxx macros instead of the same ones from GLIBC.
2015-08-17 14:51:50 +09:00
Carlo Bramini
9b495caacf
msvcrt: Call SetFilePointer() with correct parameters.
2015-08-17 14:51:46 +09:00
Francois Gouget
f8a7d6ed74
Assorted spelling fixes.
2015-08-07 23:50:48 +09:00
Iván Matellanes
ea2798f1ce
msvcrt: _setmode should check if file descriptor is valid.
2015-08-05 23:45:50 +09:00
Daniel Lehman
a7c7bc9180
msvcr110: Add Concurrency::details::_GetConcurrency.
2015-07-29 21:44:03 +02:00
Piotr Caban
2294d3ba45
msvcrt: Don't call DeleteCriticalSection on static critical section.
2015-07-16 21:21:07 +09:00
Piotr Caban
cf20731447
msvcrt: Add _mbscat_s_l implementation.
2015-07-07 16:52:20 +09:00
Piotr Caban
0eb112aa6e
msvcrt: Add ismbblead_l implementation.
2015-07-07 16:52:20 +09:00
Sebastian Lackner
abbb361733
msvcrt: Set *end to NULL when strtod is called with NULL pointer string.
2015-06-29 19:07:50 +09:00
Michael Müller
ffcb4e0724
msvcrt/tests: Add additional tests for atof / strtod functions.
...
From: Michael Müller <michael@fds-team.de>
2015-06-29 19:07:50 +09:00
Piotr Caban
e9eec98d5c
msvcrt: Cache locale string to LCID conversion results.
2015-06-24 22:57:00 +09:00
Piotr Caban
d940ac2412
msvcr110: Add __crtGetLocaleInfoEx implementation.
2015-06-22 20:58:31 +09:00
Piotr Caban
f55192aabc
msvcr120: Add ___lc_locale_name_func implementation.
2015-06-17 20:01:17 +09:00
Piotr Caban
27b7ff73e4
msvcrt: Add _ungetwch implementation.
2015-06-15 14:49:26 +09:00
Piotr Caban
d4fab07110
msvcrt: Add _getwche implementation.
2015-06-15 14:49:21 +09:00
Piotr Caban
9a10a71638
msvcrt: Add _getwch implementation.
2015-06-15 14:49:16 +09:00
Piotr Caban
de68efdb7d
msvcrt: Fix return value of cputws.
2015-06-15 14:49:11 +09:00
Piotr Caban
9ed740377b
msvcrt: Fix return value of _cputs.
2015-06-15 14:49:09 +09:00
Piotr Caban
eb9e00857a
msvcrt: Write directly to the console in _putwch.
2015-06-15 14:49:04 +09:00
Piotr Caban
3b5991cd80
msvcrt: Open console input handle with write permission so SetConsoleMode can work on it.
2015-06-15 14:45:10 +09:00
Piotr Caban
853d4343db
msvcr: Add _ungetch_nolock implementation.
2015-06-12 21:22:41 +09:00
Piotr Caban
57754bdb29
msvcr: Add _getche_nolock implementation.
2015-06-12 21:22:41 +09:00
Piotr Caban
0a600ccde8
msvcr: Add _putch_nolock implementation.
2015-06-12 21:22:41 +09:00
Piotr Caban
3bd60974a9
msvcr: Add _getch_nolock implementation.
2015-06-12 21:22:41 +09:00
Piotr Caban
725e4733cf
msvcrt: Remove no longer needed global lock from functions using fd critical sections.
2015-06-11 14:40:32 +09:00
Piotr Caban
6ed69c107f
msvcrt: Avoid using global critical section while allocating new file descriptors.
2015-06-11 14:40:30 +09:00
Piotr Caban
e7fc237088
msvcrt: Don't use MSVCRT_fdend in msvcrt_create_io_inherit_block.
2015-06-11 14:40:14 +09:00
Piotr Caban
417b605687
msvcrt: Fix possible deadlock in dup2 function.
2015-06-11 14:40:01 +09:00
Daniel Lehman
1a4db7cdf5
msvcrt: Add _W_GetMonths.
2015-06-10 15:26:11 +09:00
Daniel Lehman
bc1eaf7a0f
msvcrt: Add _W_Getdays.
2015-06-10 15:26:10 +09:00
Piotr Caban
0922865b37
msvcrt: Fix strtol implementation on strings not containing valid number.
2015-06-08 19:07:55 +09:00
Piotr Caban
ba757eaec7
msvcrt: Use fd critical section in _write.
2015-06-04 19:02:31 +09:00
Piotr Caban
eec7a565be
msvcrt: Don't lock __badioinfo.
2015-06-04 19:02:29 +09:00
Piotr Caban
f00b7f4058
msvcrt: Use fd critical section in _setmode.
2015-06-04 19:02:26 +09:00
Piotr Caban
bd6eaf918c
msvcrt: Get rid of msvcrt_is_valid_fd helper.
2015-06-03 22:52:04 +09:00
Piotr Caban
9ce2a8a60c
msvcrt: Use fd critical section in msvcrt_create_io_inherit_block.
2015-06-03 22:52:02 +09:00
Piotr Caban
86baccc9ae
msvcrt: Get rid of msvcrt_fdtoh helper.
2015-06-03 22:52:00 +09:00
Piotr Caban
9278190d46
msvcrt: Use fd critical section in _futime64.
2015-06-03 22:51:57 +09:00
Piotr Caban
16285f5700
msvcrt: Use fd critical section in read.
2015-06-03 22:51:55 +09:00
Piotr Caban
b052afd4af
msvcrt: Use fd critical section in msvcrt_free_fd.
2015-06-03 22:51:53 +09:00
Piotr Caban
c7b0fb5154
msvcrt: Use fd critical section in dup2.
2015-06-03 22:51:50 +09:00
Daniel Lehman
65b8a3da47
msvcrt: Add __swprintf_l.
2015-06-01 14:43:54 +09:00
Daniel Lehman
e89813fe3c
msvcr120: Add erf functions.
2015-05-29 16:16:21 +09:00
Piotr Caban
530d269e01
msvcr120: Add _dsign implementation.
2015-05-26 22:44:52 +09:00
Piotr Caban
ec2f02db0c
msvcr120: Add fmax implementation.
2015-05-26 22:44:47 +09:00
Piotr Caban
70bff7377d
msvcrt: Fix functions table reallocation in _onexit.
2015-05-18 14:06:40 +09:00
Hans Leidekker
bbd0e56a58
msvcrt: Handle NULL arguments in _mbscmp.
2015-04-24 22:04:09 +09:00
Piotr Caban
760b78813d
msvcrt: Don't ignore pmode attribute in _wsopen_s.
2015-04-17 14:53:53 +09:00
Piotr Caban
ccea6c6059
msvcr120: Add some missing exports on i386 architecture.
2015-03-31 14:44:49 +09:00
Zheng Chen
829e893184
msvcrt: Fix _copysign bugs for NAN/INF.
2015-03-27 00:11:42 +09:00
Piotr Caban
248bd63b53
msvcrt/tests: Use NAN and INFINITY definitions from port.h in printf tests.
2015-03-25 22:40:09 +09:00
Piotr Caban
46db64ce1b
msvcrt: Fix NAN handling in printf.
2015-03-25 22:40:06 +09:00
Piotr Caban
6de6e42a36
msvcrt/tests: Add atan, tanh and exp tests on invalid arguments.
2015-03-25 21:48:02 +09:00
Zheng Chen
e95dbb3b74
msvcrt: Correct atan/exp/tanh errno setting.
2015-03-25 19:46:33 +09:00
Akihiro Sagawa
cd5a76b182
msvcrt: Add _mbctokata implementation.
2015-03-17 00:20:00 +09:00
Akihiro Sagawa
b6ab2b6268
msvcrt: Add _mbctohira implementation.
2015-03-17 00:19:58 +09:00
Akihiro Sagawa
a2149ba7ba
msvcrt: Fix _ismbckata() for Halfwidth Katakana characters.
2015-03-17 00:19:57 +09:00
Michael Stefaniuc
278b70bdd0
msvcrt: Clarify comparison of the diff of two unsigneds with 0 (PVS-Studio).
2015-03-06 20:32:02 +09:00
Alexandre Julliard
b7f6362ddc
msvcrt: Use the correct object type for __non_rtti_object exceptions.
2015-03-04 21:50:32 +09:00
Alexandre Julliard
cdef3287db
msvcrt: Undefine __thiscall before redefining it.
2015-03-04 21:50:32 +09:00
Michael Stefaniuc
e67a65c59e
msvcrt: Avoid identical if and else bodies (PVS-Studio).
2015-02-18 16:08:48 +09:00
Yifu Wang
a11c8758b2
msvcr120: Fixed bugs in Concurrency::critical_section.
2015-02-13 18:51:21 +09:00
Orion Poplawski
8bf1732962
msvcrt: Bump MSVCRT_MB_LEN_MAX to 5 and use it in MSVCRT__wctomb_l for default buffer lengthSet MB_LEN_MAX to 5 to match MSVCRT_MB_LEN_MAX.
2015-02-03 14:38:40 +09:00
Piotr Caban
ccaf87b2ea
msvcrt: Add _iswpunct_l implementation.
2015-01-26 11:23:12 +01:00
Piotr Caban
ef69ad9f97
msvcrt: Add _iswspace_l implementation.
2015-01-26 11:23:08 +01:00
Piotr Caban
90b68f9964
msvcrt: Reset write direction after flush on read/write stream.
2015-01-26 11:22:58 +01:00
Piotr Caban
7880525f44
msvcrt: Handle read buffer flushing in msvcrt_flush_buffer helper.
2015-01-26 11:22:54 +01:00
Charles Davis
7ef720f184
msvcrt: Support 64-bit platforms that don't have finitef or isnanf.
2015-01-23 11:58:14 +01:00
Piotr Caban
ba0d1586ff
msvcrt: Drop read buffer in _flsbuf.
2015-01-21 18:08:11 +01:00
Piotr Caban
bd1428ef50
msvcrt: Add _vscprintf_p implementation.
2015-01-20 16:08:49 +01:00
Hugh McMaster
d999fd0d11
msvcrt/tests: Add more tests for _vsnwprintf.
2015-01-07 23:48:26 +01:00
Piotr Caban
1109672f13
msvcr120: Add _fdtest function implementation.
2015-01-07 23:48:21 +01:00
Piotr Caban
3af24fe1f4
msvcrt: Add _wcsset_s implementation.
2014-12-23 18:59:36 +01:00
Hugh McMaster
828a46898d
msvcrt: Fix a spelling error.
2014-12-22 13:37:15 +01:00
Martin Storsjo
5f395ee8e6
msvcr120: Implement the _dclass/_fdclass/_ldclass functions.
2014-12-09 18:48:49 +01:00
Martin Storsjo
547ba7a10b
msvcr120: Implement more C99 math functions.
2014-12-08 17:25:26 +01:00
Martin Storsjo
589f58d806
msvcr120: Implement the _vacopy function.
2014-12-08 17:08:51 +01:00
Piotr Caban
6c2d4f1092
msvcrt: Use fd critical section in _fstat64.
2014-12-05 20:48:02 +01:00
Piotr Caban
f2f45d5fe6
msvcrt: Use fd critical section in _chsize_s.
2014-12-05 20:48:01 +01:00
Piotr Caban
fa6de59770
msvcrt: Use fd critical section in _lseeki64.
2014-12-05 20:47:59 +01:00
Piotr Caban
ffdd16cc0d
msvcrt: Use fd critical section in _locking.
2014-12-05 20:47:57 +01:00
Piotr Caban
9a4cfbc3ed
msvcrt: Use fd critical section in _eof.
2014-12-05 20:47:55 +01:00
Piotr Caban
a4fcba60b9
msvcrt: Call CreateProcess with CREATE_UNICODE_ENVIRONMENT flag in exec functions family.
...
Based on a patch by Ron Yorston.
2014-12-04 14:03:34 +01:00
Yifu Wang
08d0508993
msvcr120: Added wchar_t* fields to struct MSVCRT_lconv.
2014-12-03 21:34:27 +01:00
Iván Matellanes
17fcef507f
msvcrt: Call the _nolock variant when the file is already locked.
2014-12-01 11:11:16 +01:00
Michael Stefaniuc
42e6019c00
msvcrt/tests: Don't open code offsetof().
2014-11-27 11:43:41 +01:00
Piotr Caban
afc6962a24
msvcrt: Use fd critical section in _close.
2014-11-11 23:55:52 +09:00
Piotr Caban
4508e665c0
msvcrt: Use fd critical section in _commit.
2014-11-11 23:55:49 +09:00
Piotr Caban
1d791f5db2
msvcrt: Rename msvcrt_get_ioinfo function.
2014-11-11 23:55:43 +09:00
Piotr Caban
0c4cb6ce5d
msvcrt: Initialize file descriptor critical section.
2014-11-11 23:55:34 +09:00
Iván Matellanes
bcbd83d154
msvcrt: Added _fread_nolock_s implementation.
2014-11-10 19:25:15 +09:00
Iván Matellanes
4f807d9ae9
msvcrt: Added _ungetwc_nolock implementation.
2014-11-05 13:15:44 +09:00
Iván Matellanes
6f24dd9677
msvcrt: Added _ungetc_nolock implementation.
2014-11-05 13:15:20 +09:00
Iván Matellanes
b536ff62ef
msvcrt: Added _fputwc_nolock implementation.
2014-11-05 13:14:35 +09:00
Iván Matellanes
975a95a25b
msvcrt: Added _fputc_nolock implementation.
2014-11-05 13:14:03 +09:00
Iván Matellanes
89d91168a0
msvcrt: Use correct type for fread and fwrite return values.
2014-11-04 13:31:33 +09:00
Iván Matellanes
20e0a6f20d
msvcrt: Avoid locking the file in _fclose_nolock.
2014-11-04 13:31:29 +09:00
Iván Matellanes
156684ba91
msvcrt: Added _fgetwc_nolock implementation.
2014-10-31 15:35:36 +09:00
Iván Matellanes
878b4a9280
msvcrt: Added _fgetc_nolock implementation.
2014-10-31 15:35:24 +09:00
Iván Matellanes
f896cd3dc9
msvcrt: _filbuf should not lock any file.
2014-10-31 15:35:19 +09:00
Hans Leidekker
ed79b3f9a5
msvcrt: Implement _snprintf_l.
2014-10-31 10:49:06 +09:00
Vincent Povirk
1860efaa9e
msvcrt: Implement _wcsnicmp_l.
2014-10-29 20:31:04 +09:00
Vincent Povirk
5ba68bb966
msvcrt: Implement _strtoul_l.
2014-10-29 20:31:03 +09:00
Iván Matellanes
4bb80afedc
msvcrt: Added _fflush_nolock implementation.
...
Thanks to Piotr Caban for the test.
2014-10-27 19:03:57 +09:00
Iván Matellanes
c53e0384a5
msvcrt: Added _fseek_nolock implementation.
2014-10-16 13:02:24 +09:00
Iván Matellanes
5077d8c137
msvcrt: Added _fseeki64_nolock implementation.
2014-10-16 13:02:16 +09:00
Iván Matellanes
50574ccffa
msvcrt: Added _ftell_nolock implementation.
2014-10-16 13:02:08 +09:00
Iván Matellanes
7cf0c877b3
msvcrt: Added _ftelli64_nolock implementation.
2014-10-16 13:01:59 +09:00
Iván Matellanes
25d7a1bbbf
msvcrt: Added _fwrite_nolock() implementation.
2014-10-13 18:09:06 +09:00
Iván Matellanes
206ea48f20
msvcrt: Added _fread_nolock() implementation.
2014-10-13 18:08:54 +09:00
Iván Matellanes
9fda14a9d6
msvcrt: Added _fclose_nolock() implementation.
2014-10-08 14:47:46 +02:00
Francois Gouget
f63fd82610
msvcrt: Prefix _set_output_format() with MSVCRT_ to avoid a collision with MinGW.
2014-09-15 10:12:24 +02:00
Nikolay Sivov
1228f0bba5
msvcrt: Added __dstbias() export.
2014-09-10 21:36:52 +02:00
Piotr Caban
7cf23a7957
msvcrt: Fix _stricmp behavior on characters that doesn't fit into signed char.
2014-09-03 16:31:01 +02:00
Piotr Caban
43be238331
msvcr80: Throw bad_alloc exception when operator new fails.
2014-09-02 20:54:47 +02:00
Piotr Caban
53869e19eb
msvcrt: Add _strnset_s implementation.
2014-09-02 15:07:27 +02:00
Nikolay Sivov
60de49770c
msvcrt: Implement llabs().
2014-08-29 20:38:42 +02:00
Piotr Caban
d3a48ee342
msvcrt: Only check for flag presence in isatty function.
2014-08-04 16:18:10 +02:00
Piotr Caban
a566569305
msvcrt: Always set fd to -1 in _sopen_s on failure.
2014-07-10 15:23:02 +02:00
Piotr Caban
0350b6c7fd
msvcrt: Fix buffer allocation in setvbuf.
2014-06-30 22:04:52 +02:00
Frédéric Delanoy
b9e306ee78
msvcrt: Avoid potential integer overflow when computing median position in bsearch.
2014-06-30 22:04:52 +02:00
Piotr Caban
60eb44d820
msvcrt: Don't touch _bufsiz value while initializing FILE structure.
2014-06-27 10:37:54 +02:00