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
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
Piotr Caban
760b78813d
msvcrt: Don't ignore pmode attribute in _wsopen_s.
2015-04-17 14:53:53 +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
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
Piotr Caban
ba0d1586ff
msvcrt: Drop read buffer in _flsbuf.
2015-01-21 18:08:11 +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
Iván Matellanes
17fcef507f
msvcrt: Call the _nolock variant when the file is already locked.
2014-12-01 11:11:16 +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
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
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
Piotr Caban
60eb44d820
msvcrt: Don't touch _bufsiz value while initializing FILE structure.
2014-06-27 10:37:54 +02:00
Piotr Caban
fffbc8e570
msvcrt: Use file->_flag to check if file buffering is enabled.
2014-06-27 10:37:51 +02:00
Piotr Caban
18a416f7d5
msvcrt: Support NULL buffer in setvbuf.
2014-06-26 19:00:41 +02:00
Piotr Caban
1ae475dae8
msvcrt: Fix ungetc on files with empty buffer.
2014-06-26 19:00:41 +02:00
Piotr Caban
f91f24f6e7
msvcrt: Fix _flsbuf behavior on streams with MSVCRT__IONBF flag.
2014-06-26 19:00:40 +02:00
Grazvydas Ignotas
ad968be779
msvcrt: Implement bufsiz block flushing behavior.
2014-06-25 11:48:13 +02:00
Grazvydas Ignotas
c6a160691a
msvcrt: Clear _cnt on buffer flush.
2014-06-25 11:47:30 +02:00
Grazvydas Ignotas
40067dd011
msvcrt: Change internal buffer size to 4k.
2014-06-17 12:35:48 +02:00
Grazvydas Ignotas
9614283996
msvcrt: Free old buffer properly in setvbuf.
2014-06-17 12:35:22 +02:00
Piotr Caban
b0424313fd
msvcrt: Handle negative file->_cnt value in fwrite.
2014-06-11 19:15:26 +02:00
Piotr Caban
42e800fe79
msvcrt: Fix ioinfo structure size.
2014-05-07 10:27:46 +02:00
Victor Martinez Calvo
f6bb1a51a9
msvcrt: Avoid null dereference in TRACE in MSVCRT__wfreopen.
2014-04-30 18:33:00 +02:00
Alexandre Julliard
0c496f0280
msvcrt: Update comments for non-exported functions.
2014-04-21 14:32:40 +02:00
Piotr Caban
beeea28a53
msvcr100: Move functions implementation to msvcrt.
2014-04-16 18:00:15 +02:00
Piotr Caban
e70bf5f8c6
msvcrt: Fix compilation errors on Mingw.
2014-04-16 18:00:01 +02:00
Piotr Caban
6ad441cd6b
msvcrt: Return error on invalid handle in _open_osfhandle.
2014-02-12 19:15:28 +01:00
Piotr Caban
5e3cadf834
msvcrt: Don't close handles returned by GetStdHandle function.
2014-01-28 10:53:21 +01:00
Piotr Caban
6f4a181709
msvcrt: Flush standard streams in flushall function.
2014-01-28 10:53:09 +01:00
Piotr Caban
e16059113c
msvcrt: Support _IOSTRG flag in _filbuf function.
2014-01-28 10:52:35 +01:00
Piotr Caban
ed2d53a36a
msvcrt: Don't write to buffer in ungetc if _IOSTRG flag is specified.
2013-12-30 19:44:08 +01:00
Piotr Caban
6122c2ba37
msvcrt: Convert data to multibyte encoding in ungetwc if needed.
2013-12-30 19:44:02 +01:00
Andrey Zhezherun
3bb2c11757
msvcrt: Implemented _chsize_s.
2013-11-05 20:38:20 +01:00