Commit Graph

399 Commits

Author SHA1 Message Date
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
Piotr Caban 647817b018 msvcrt: Don't call invalid parameter handler on invalid mode flag. 2013-11-01 14:17:31 +01:00
Piotr Caban afec0b00bd msvcrt: Make the first call to fwrite buffered. 2013-10-21 21:06:15 +02:00
Piotr Caban 024ece50e8 msvcrt: Fix parameter validation in _stat64 function. 2013-08-26 15:01:37 +02:00
Vincent Povirk 5f2e48f737 msvcrt: _[w]access_s returns an error code. 2013-08-22 10:27:54 +02:00
Piotr Caban 089cc78182 msvcrt: Fix lookahead buffer usage on pipes. 2013-08-21 19:52:51 +02:00
Piotr Caban f42c631d6e msvcrt: Improve setting standard handles flags. 2013-08-21 19:52:37 +02:00
Piotr Caban b6fc57ec84 msvcrt: Add _wmktemp_s implementation. 2013-07-24 14:35:12 -05:00
Piotr Caban 7d41f9b3e9 msvcrt: Add _mktemp_s implementation. 2013-07-24 14:35:11 -05:00
Piotr Caban ce9d4b807e msvcrt: Fix _mktemp implementation. 2013-07-24 14:35:11 -05:00
Piotr Caban 598ff4dd5a msvcrt: Reuse FILE object in wfreopen function. 2013-06-04 14:59:20 +02:00
Piotr Caban f99742a539 msvcrt: Move _fstat32 and _fstat64i32 functions to msvcrt. 2013-04-30 18:44:46 +02:00
Piotr Caban 280f8237b5 msvcrt: Move fread_s function to msvcrt. 2013-03-28 18:54:42 +01:00
Piotr Caban 6eeb000c90 msvcrt: Fixed fgetwc behavior on multibyte characters and Unicode files. 2013-03-25 16:24:13 +01:00
Piotr Caban cde73251d8 msvcrt: Remove incorrect cast in fgetws function. 2013-03-25 16:24:01 +01:00
Piotr Caban 027d985210 msvcrt: Limit access to out buffer in fread function.
DVDFab HD Decrypter expects that unused part of output buffer is not
modified.
2013-03-14 14:56:10 +01:00
Piotr Caban 8e5bebe262 msvcrt: Rename msvcrt_alloc_fd_from to msvcrt_set_fd. 2013-03-05 12:43:36 +01:00
Piotr Caban db92137f83 msvcrt: Reuse standard file descriptors after closing them. 2013-03-04 11:14:45 +01:00
Piotr Caban f565e4a315 msvcrt: Don't duplicate standard handles during initialization. 2013-03-04 11:14:41 +01:00
Andrew Talbot d8efcc9cb3 msvcrt: Avoid signed-unsigned integer comparisons. 2013-02-20 10:33:38 +01:00
Piotr Caban a8df9b14ad msvcrt: Use temporary buffers to speed up operations on stdout and stderr. 2013-01-30 13:05:29 +01:00
Piotr Caban 2ee5323a91 msvcrt: Don't make stdout and stderr bufferred when writing to console. 2013-01-30 13:05:29 +01:00
Francois Gouget a5ff4b8088 Assorted spelling fixes. 2013-01-29 12:13:04 +01:00
Piotr Caban 7654d95462 msvcrt: Added N flag support to fopen. 2013-01-25 17:30:18 +01:00
Piotr Caban ab4b4d34c3 msvcrt: Ignore S and R flags in fopen. 2013-01-25 17:30:10 +01:00
Marcus Meissner a8b076d67f msvcrt: read_utf8: free readbuf on return (Coverity). 2013-01-21 12:51:15 +01:00
Piotr Caban 7f4e1c65b1 msvcrt: Added support for commit flag in fopen. 2013-01-18 13:28:58 +01:00
Alexandre Julliard afee133b65 msvcrt: Fix incorrect use of the system wctomb function. 2013-01-14 13:47:00 +01:00
Piotr Caban 5515170d13 msvcrt: Be less strict while parsing file open mode in fopen function. 2013-01-14 11:04:19 +01:00
Piotr Caban c1792e1a8a msvcrt: Fixed ftell behaviour when file is opened for writing in text mode. 2013-01-11 12:04:36 +01:00
Piotr Caban 1fae72e759 msvcrt: Don't add '\r' character in fputws function.
write is responsible for adding '\r' characters, don't do it twice.
2013-01-11 12:04:29 +01:00
Piotr Caban a8c2ae1751 msvcrt: Use fputwc to output characters to file in fprintf functions. 2013-01-11 12:04:18 +01:00
Piotr Caban ebfa653618 msvcrt: Make fputwc encoding aware. 2013-01-11 12:04:08 +01:00
Piotr Caban d88aa37e59 msvcrt: Added UTF8 support to read function. 2013-01-10 12:29:13 +01:00
Piotr Caban ac3cdc7ffa msvcrt: Added UTF16 support to read function. 2013-01-10 12:29:07 +01:00
Piotr Caban a0ef884542 msvcrt: Added unicode modes support _setmode function. 2013-01-10 12:28:53 +01:00
Piotr Caban eeb7d0a649 msvcrt: Improved ftell implementation. 2013-01-10 12:28:47 +01:00
Piotr Caban 4ffa9364eb msvcrt: Simplify fseek implementation. 2013-01-10 12:28:39 +01:00
Piotr Caban 568a3be869 msvcrt: Call ftell function in fgetpos. 2013-01-10 12:28:32 +01:00
Piotr Caban 6e011b8310 msvcrt: Fixed handling of '\r' when it's the last character in the buffer in read. 2013-01-10 12:28:24 +01:00
Piotr Caban 94e3647533 msvcrt: Added support for unicode mode in write function. 2013-01-10 12:27:48 +01:00
Piotr Caban 447f4fa51c msvcrt: Call _wsopen_s function in _sopen_s. 2013-01-10 12:27:36 +01:00
Piotr Caban 424ce2d2f5 msvcrt: Added support for unicode text mode in open functions family. 2013-01-10 12:27:10 +01:00
Piotr Caban 96be6eb570 msvcrt: Added support for unicode open mode in msvcrt_get_flags function. 2013-01-10 12:26:53 +01:00
Piotr Caban a6daa3519d msvcrt: Don't duplicate wfsopen functionality in wfrepopen. 2013-01-10 12:23:49 +01:00
Piotr Caban bcf4467b86 msvcrt: Return error in stat function when path is specified with trailing slash character. 2012-12-27 17:15:39 +01:00
Piotr Caban bc33d39e23 msvcrt: Don't flush stream in fputs function. 2012-12-13 18:24:03 +01:00
Piotr Caban 3b41fab0e9 msvcrt: Added _fwprintf_l implementation. 2012-12-12 12:01:11 +01:00
Piotr Caban 48335be04e msvcrt: Added _vfwprintf_l implementation. 2012-12-12 12:01:01 +01:00
Piotr Caban d3ecfe0599 msvcrt: Fixed _localtime64 implementation. 2012-12-10 17:36:28 +01:00
Piotr Caban ec26342c88 msvcrt: Allocate buffer in fwrite function. 2012-11-02 19:47:33 +01:00
Piotr Caban 39345a1b15 msvcrt: Fixed _ungetwc implementation. 2012-10-24 11:25:33 +02:00
Piotr Caban c00702cd6e msvcrt: Fixed tmpfile implementation. 2012-10-16 20:45:44 +02:00
Michael Stefaniuc 0409b9895c msvcrt: Aoid TRUE:FALSE conditional expressions. 2012-08-13 17:29:40 +02:00
Alexandre Julliard 06989a0483 msvcrt: Make sure that errno is always set when calling the invalid parameter handler. 2012-07-26 11:05:32 +02:00
André Hentschel f09a40a215 msvcrt: Add tmpfile_s implementation. 2012-07-18 11:49:19 +02:00
Robert van Herk 516bb0ba64 msvcrt: Fix file mode T (temporary file). 2012-03-28 11:47:13 +02:00
Akihiro Sagawa cf7479ca85 msvcrt: Add support for _flushall to clear all input buffer. 2012-03-14 12:59:11 +01:00
Akihiro Sagawa 58d6a9a331 msvcrt: Add a helper function to flush all buffers. 2012-03-14 12:59:10 +01:00
Akihiro Sagawa 1a01893c74 msvcrt: Add support for fflush to clear an input buffer. 2012-03-14 12:59:10 +01:00
Piotr Caban c39793087d msvcrt: Handle negative file->_cnt value in _flsbuf function. 2012-02-07 09:32:20 -06:00
Eric Pouech f8b29a0685 msvcrt: Fix TRACE format modifier for wfreopen. 2012-02-06 10:19:32 -06:00
Daniel Lehman 85559848ff msvcrt: Sync _wtempnam with _tempnam. 2012-01-09 12:52:16 +01:00
Piotr Caban 66520ea08a msvcrt: Fix FILE critical section initialization. 2011-11-24 20:57:01 +01:00
Piotr Caban 3fe5e6ee8a msvcrt: Keep FILE critical section initialized after closing file. 2011-11-23 14:14:39 +01:00
Francois Gouget d78bfe1149 msvcrt: Statically initialize and name the MSVCRT_file_cs critical section. 2011-11-16 17:02:10 +01:00
Piotr Caban 764b85511c msvcrt: Don't use fputc in flsbuf implementation. 2011-11-16 17:01:09 +01:00
Piotr Caban e4ac347075 msvcrt: Don't hold FILE critical section in some functions. 2011-11-15 19:37:37 +01:00
André Hentschel 947d1bf588 msvcrt: Implement _wfreopen_s. 2011-11-15 11:48:38 +01:00
André Hentschel ba5b0c34a8 msvcrt: Implement freopen_s. 2011-11-15 11:48:24 +01:00
Francois Gouget f2043352d1 msvcrt: Give a name to the critical sections. 2011-11-14 20:15:33 +01:00
Piotr Caban c867f3324e msvcrt: Free fd entries with incorrect HANDLE value. 2011-10-06 16:46:40 -05:00
Piotr Caban 190c67c70e msvcrt: Fix __pioinfo block size. 2011-10-06 16:46:40 -05:00
Piotr Caban 5e9ee3b909 msvcrt: Fixed tmpnam and _wtmpname implementation. 2011-07-26 16:33:04 +02:00
Damjan Jovanovic c28baa7b96 msvcrt: The time passed to utime functions can be NULL. 2011-06-20 19:32:02 +02:00
Piotr Caban f9de4eef75 msvcrt: Fix mingw compilation issues. 2011-06-03 17:44:06 +02:00
Piotr Caban abb3db5c57 msvcrt: Improved tmpnam/wtmpnam implementation. 2011-05-25 11:46:29 +02:00
Piotr Caban 6991ac0331 msvcrt: Use get_locinfo instead of get_locale. 2011-05-25 11:45:42 +02:00
Francois Gouget 37daab560c msvcrt: Add a trailing '\n' to an ERR() call. 2011-05-23 16:25:48 +02:00
Piotr Caban 716a69c6db msvcrt: Make FILE writing functions thread safe. 2011-05-20 13:42:21 +02:00
Piotr Caban 11c6c5324f msvcrt: Make FILE reading functions thread safe. 2011-05-20 13:42:17 +02:00
Piotr Caban f2d425b7fc msvcrt: Make FILE position related functions thread safe. 2011-05-20 13:42:13 +02:00
Piotr Caban ae15a4b6bc msvcrt: Make FILE->_flag reading functions thread safe. 2011-05-20 13:42:08 +02:00
Piotr Caban dd30302268 msvcrt: Make ungetc and ungetwc thread safe. 2011-05-20 13:42:04 +02:00
Piotr Caban eb01bc1efa msvcrt: Make setvbuf thread safe. 2011-05-20 13:42:01 +02:00
Piotr Caban c989c4980b msvcrt: Make _flsbuf thread safe. 2011-05-20 13:41:57 +02:00
Piotr Caban f773ad8388 msvcrt: Make _filbuf thread safe. 2011-05-20 13:41:54 +02:00
Piotr Caban 1b26496270 msvcrt: Make fclose thread safe. 2011-05-20 13:41:50 +02:00
Piotr Caban d18f0766f7 msvcrt: Make fflush function thread safe. 2011-05-20 13:41:46 +02:00
Piotr Caban c5894bacf5 msvcrt: Make printf functions thread safe. 2011-05-19 19:37:26 +02:00
Piotr Caban 249917beac msvcrt: Added _lock_file/_unlock_file implementation. 2011-05-19 19:37:26 +02:00
Piotr Caban 2ca229dec1 msvcrt: Improved _getmaxstdio and _setmaxstdio implementation. 2011-05-19 19:37:26 +02:00
Piotr Caban 19c4c37a1d msvcrt: Allocate FILE tables dynamically. 2011-05-19 19:37:26 +02:00
Piotr Caban 2679186d19 msvcrt: Allocate ioinfo tables dynamically. 2011-05-19 19:37:26 +02:00
Piotr Caban 64cf208040 msvcrt: Don't pass NULL as __ms_va_list in printf implementation. 2011-05-11 17:49:16 +02:00
Piotr Caban 2a3484a22d msvcrt: Added _wtmpnam implementation. 2011-05-03 19:34:26 +02:00
Francois Gouget 4df46f69bf msvcrt: Fix compilation on systems that don't support nameless unions. 2011-04-28 17:59:06 +02:00
Piotr Caban b9e456aa79 msvcrt: Use callback based printf in fprintf functions family. 2011-04-25 14:36:31 +02:00
Eric Pouech a42bf0134c msvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf. 2011-04-25 11:39:57 +02:00
Andrew Nguyen 6329d0d47d msvcrt: Avoid the use of SetFilePointerEx in _lseeki64. 2011-04-20 16:33:31 +02:00
Nikolay Sivov 8d09b40835 msvcrt: Implement _wsopen_s. 2011-01-27 14:14:41 +01:00
Nikolay Sivov 2a6060f4c4 msvcrt: Implemented _sopen_s. 2011-01-26 15:00:13 +01:00
Austin English 6374205eb4 msvcrt: Fix a compiler warning on PowerPC. 2010-12-03 11:04:03 +01:00
Eryk Wieliczko 91bc6c5201 msvcrt: Implement fprintf_s and fwprintf_s. 2010-11-25 11:55:31 +01:00
Eryk Wieliczko 133a38fcfb msvcrt: Implement printf_s and wprintf_s. 2010-11-25 11:55:20 +01:00
Eryk Wieliczko 6296d95b9e msvcrt: Implement vprintf_s and vwprintf_s. 2010-11-25 11:55:05 +01:00
Eryk Wieliczko 8bf437d827 msvcrt: Implement vfprintf_s and vfwprintf_s. 2010-11-25 11:53:07 +01:00
Eryk Wieliczko c9bd269db1 msvcrt: Fixed (_w)fopen_s with test. 2010-11-11 14:19:38 +01:00
Eric Pouech 4d86e49173 msvcrt: Correctly manage va_list:s in vf(w)printf ny using auto-grow buffer in prinf engine. 2010-11-08 18:12:58 +01:00
Eryk Wieliczko a3927b5e09 msvcrt: Implement _ftelli64. 2010-11-03 14:45:17 +01:00
Eric Pouech cff575fbb3 msvcrt: Implemented _(w)access_s. 2010-11-03 11:08:55 +01:00
Eric Pouech d36cfcf48a msvcrt: Implemented _putwch. 2010-11-03 11:08:55 +01:00
Eryk Wieliczko e81a929e6b msvcrt: Implement _fseeki64. 2010-11-02 11:19:56 +01:00
Eryk Wieliczko 38d1ea2a5b msvcrt: Add stub functions _lock_file and _unlock_file. 2010-11-02 11:19:15 +01:00
Eric Pouech 00f07046c0 msvcrt: Use the new parameter checking macros for f(w)open_s functions. 2010-11-01 12:34:40 +01:00
Piotr Caban 2ff04b9d57 msvcrt: Added _wfopen_s implementation. 2010-04-21 11:07:45 +02:00
Piotr Caban 1b4bacea8c msvcrt: Added fopen_s implementation. 2010-04-19 15:12:10 +02:00
Piotr Caban d1fa8b64e4 msvcrt: Use per thread locale in many functions. 2010-04-15 16:51:47 +02:00
Piotr Caban b90320652d msvcrt: Rename functions conflicting with mingw headers. 2010-03-29 15:50:19 +02:00
Uwe Bonnes 0d16965832 msvcrt: read_i should pull in LF after CR only in unbuffered mode. 2010-01-28 15:30:26 +01:00
Uwe Bonnes 92ac665d37 msvcrt: Check for EOF before correcting CR/LF. 2010-01-28 15:30:26 +01:00
Uwe Bonnes e6f1ae029e msvcrt: Handle CR at buffer boundary and test case. 2010-01-18 15:32:53 +01:00
Uwe Bonnes d95c857a4f msvcrt: xxopen() accepts spaces in the mode string. 2010-01-18 14:36:43 +01:00
Jeff Zaroyko c2459deeff msvcrt: Check if argument passed to _dup2 is positive. 2010-01-14 09:41:43 -06:00
Alexandre Julliard ded81aebc7 msvcrt: Add validity checks on the size of the handle inheritance block. 2009-09-10 15:29:04 +02:00
Michael Stefaniuc 5f0fb8350f msvcrt: Replace size_t with MSVCRT_size_t. 2009-05-27 15:39:57 +02:00
Alexandre Julliard 82f175e9b5 msvcrt: Replace long by MSVCRT_long. 2009-05-23 11:57:39 +02:00
Alexandre Julliard ac760a47f3 msvcrt: Fix the stat and finddata structures for 64-bit. 2009-05-23 11:57:12 +02:00
Alexandre Julliard 4a7b3460ef msvcrt: Add explicit 32- and 64-bit versions of the utime functions. 2009-05-23 11:12:17 +02:00
Alexandre Julliard 1c91d54503 msvcrt: Don't try to duplicate invalid handles. Don't reset std handles if we didn't set them. 2009-02-18 14:44:17 +01:00
Michael Stefaniuc 9d4c9a0cdd msvcrt: Remove superfluous pointer casts. 2009-01-29 14:06:15 +01:00
Dan Kegel 7f3c70c52f msvcrt: Remove CRs earlier in ascii mode in fseek, too. 2009-01-29 12:21:11 +01:00
Dan Kegel 5bf1ae82f1 msvcrt: _flsbuf zeroes _cnt. 2009-01-29 12:20:44 +01:00
Hans Leidekker d2a383b658 msvcrt: Forward ANSI open functions to their Unicode counterparts instead of the other way around. Implement _wfreopen. 2009-01-19 14:22:57 +01:00