Commit graph

393 commits

Author SHA1 Message Date
Alex Henrie
b489c6e9b1 msvcrt: Don't include MSVC 8.0+ file functions in SOs for older DLLs.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-05 18:51:27 +01:00
Piotr Caban
96584d858a msvcrt: Don't report error in fclose on already closed stream.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 20:44:33 +01:00
Piotr Caban
1899eadf3e msvcrt: Change how fread splits reading into chunks.
It affects fd stream position and buffer content on unsuccessul reads.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 20:44:33 +01:00
Piotr Caban
67926ec8c3 msvcrt: Set errno when close() is called on already closed fd.
Based on a patch by Olly Betts.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-28 20:39:29 +01:00
Piotr Caban
7aa4b6d170 msvcrt: Fix write() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:22 +01:00
Piotr Caban
9b2397d5c8 msvcrt: Fix read() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:20 +01:00
Piotr Caban
677301a29c msvcrt: Fix close() behaviour on "no console" file descriptors.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:18 +01:00
Piotr Caban
31bf13e92b msvcrt: Fix IO initialization when invalid handles are passed.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 10:50:10 +01:00
Alexandre Julliard
7726157e19 msvcrt: Use WINAPIV calling convention for variadic functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:20:02 +01:00
Gijs Vermeulen
7f9c2dabc3 msvcrt: Add vf[w]printf_p & vf[w]printf_p_l.
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-10-16 15:26:32 +02:00
Gijs Vermeulen
1ae09d5fb2 msvcrt: Add vf[w]printf_s_l.
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-10-10 18:28:21 +02:00
Gijs Vermeulen
344a41a6ca msvcrt: Introduce vfprint & vfwprintf helper functions.
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-10-09 15:24:40 +02:00
Alistair Leslie-Hughes
fae0570a88 msvcrt: Implement clearerr_s.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 11:19:36 +02:00
Gijs Vermeulen
4a75c37b41 msvcrt: Add _vfprintf_l.
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-09-19 14:28:29 +02:00
Alex Henrie
efaeb5cf8a ucrtbase: Add __stdio_common_vfwprintf_s.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:57 +02:00
Alex Henrie
a116f4a7ab ucrtbase: Add __stdio_common_vfprintf_s.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:48 +02:00
Alex Henrie
5074bb9a4b msvcrt: Note that __stdio_common functions are for ucrtbase.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:38 +02:00
Marcus Meissner
d3d43ffded msvcrt: Free the temporary filename (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-20 10:39:09 +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
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
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
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
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
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
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
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
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
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
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
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
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
Carlo Bramini
21a14e9612 msvcrt: SEEK_* macros from GLIBC should be replaced with safer MSVCRT_SEEK_* macros. 2015-08-19 08:39:02 +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
Iván Matellanes
ea2798f1ce msvcrt: _setmode should check if file descriptor is valid. 2015-08-05 23:45:50 +09:00
Piotr Caban
2294d3ba45 msvcrt: Don't call DeleteCriticalSection on static critical section. 2015-07-16 21:21:07 +09:00
Piotr Caban
eb9e00857a msvcrt: Write directly to the console in _putwch. 2015-06-15 14:49:04 +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
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