Commit Graph

468 Commits

Author SHA1 Message Date
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
Dan Kegel ebe4a9e321 msvcrt: Remove CRs earlier in ascii mode. 2009-01-19 13:36:26 +01:00
Alexandre Julliard dd34f924be msvcrt: Convert the open functions to use MS ABI varargs. 2009-01-03 11:38:25 +01:00
Alexandre Julliard 07ca8f4f8f msvcrt: Convert all the printf functions to use MS ABI varargs. 2009-01-03 11:38:25 +01:00
Dan Kegel 72ffe1da67 msvcrt: fread: Exhaust buffered data before using unbuffered data in ascii mode. 2008-12-16 14:23:40 +01:00
Alexandre Julliard b19913ac70 msvcrt: Add a few more *_func functions to replace the __p_* ones. 2008-12-15 16:03:32 +01:00
Alexandre Julliard 4305e6d119 msvcrt: Use iob_func instead of p__iob on non-x86. 2008-12-12 10:19:55 +01:00
Alexandre Julliard d8ab5a14aa msvcrt: Use intptr_t or size_t instead of long where appropriate. 2008-12-12 10:19:55 +01:00
Francois Gouget e766985b20 msvcrt: Fix the permissions returned by fstat*() (with test). 2008-12-10 10:47:34 +01:00
Andrew Talbot 4c3d27dfee msvcrt: Sign-compare warnings fix. 2008-10-22 13:54:53 +02:00
Michael Karcher 5f2159e806 msvcrt/file: stdio should clamp characters to 8 bits. 2008-08-19 13:04:44 +02:00
Alexandre Julliard 9c29dbd987 Avoid exporting common symbols since that's broken on Mac OS X. 2008-07-21 14:47:55 +02:00
Alexandre Julliard b43fd31287 msvcrt: Rename a few functions to avoid conflicts with Windows headers. 2008-04-29 20:18:19 +02:00
Erik de Castro Lopo 60501aa93e msvcrt: Clear end-of-file flag on fseek. 2008-04-09 11:43:35 +02:00
Andrew Talbot 32d7a9e668 msvcrt: Assign to structs instead of using memcpy. 2008-03-07 11:01:07 +01:00
James Hawkins eedfacdfe7 janitorial: Remove links to any microsoft site. 2008-03-01 12:04:03 +01:00
Dan Kegel 316869b273 msvcrt: Fix EOF behavior on read from pipe or console.
The canonical way to detect EOF on read is when you request more than
zero bytes, but zero bytes come back.  Switching to this method seems
to handle a few problem cases better.  Also handle ERROR_BROKEN_PIPE
properly just in case.
2008-02-12 22:35:20 +01:00
Andrew Talbot edaa0fbc13 msvcrt: Remove unneeded cast. 2007-12-24 13:30:20 +01:00
Dan Kegel 56eb6f6730 msvcrt: Fix ^Z handling in text mode. 2007-10-09 11:39:57 +02:00
Dan Kegel 4cd3a16f18 msvcrt: Improve CR CR LF handling. 2007-10-05 10:33:27 +02:00
Hans Leidekker 1efae756c3 msvcrt: Implement _wspawnv{, e, p, pe}. 2007-09-24 14:38:53 +02:00
Tijl Coosemans 6bbd3cacb8 msvcrt: Resolve symbols clashes with FreeBSD libc. 2007-09-19 15:01:33 +02:00
Michael Stefaniuc d7d40b7dd3 msvcrt: Remove superfluous casts of void pointers to other pointer types. 2007-07-04 12:06:58 +02:00
Michael Stefaniuc ec4936a6a3 msvcrt: Do not use wide character constants. 2007-06-25 11:43:58 +02:00
Francois Gouget cf218621fd msvcrt: When operating on a closed pipe, read() should return 0, not -1.
Add tests to make sure read() and fread() work right on closed pipes.
2007-05-22 12:01:35 +02:00
Andrew Talbot 9069577cd0 msvcrt: Exclude unused headers. 2007-05-15 12:19:12 +02:00
Jan Zerebecki 3b32ae2a54 msvcrt: Add DebugInfo to critical sections. 2007-03-12 13:38:22 +01:00
Damjan Jovanovic 2705d78876 msvcrt: Fix fstat's handling of pipes and char devices.
For pipes/char devices, st_dev and st_rdev should be the fd, st_nlink
is always 1, and st_mode is S_IFIFO and S_IFCHR respectively.
Added tests to prove the new behaviour right.
2007-02-16 13:13:37 +01:00
Damjan Jovanovic 7ecc283bd9 msvcrt: Implemented stat64, wstat64 and fstat64.
Change all other variations of stat use the stat64 family, since it is
the most general.
2007-02-14 12:31:14 +01:00
Alexandre Julliard 2851b31f4c msvcrt: Implement fopen/wfopen on top of fsopen/wfsopen instead of the other way around. 2007-02-07 13:25:29 +01:00
Eric Pouech 8333cf88d8 msvcrt: Fix the internal flag computation for _open_osfhandle. 2007-01-23 13:05:52 +01:00
Francois Gouget aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Andrew Talbot 55f25b712d msvcrt: Cast-qual warnings fix. 2006-11-06 15:39:55 +01:00
Louis. Lenders 32ffc7cb8a msvcrt: Add stub for _setmaxstdio + tiny test. 2006-10-31 11:46:20 +01:00
Duane Clark b4c1c67ea4 msvcrt: Fix fread on large buffers in ascii mode. 2006-10-27 12:30:24 +02:00
Louis. Lenders a5e6c89dcf msvcrt: Add stub for _getmaxstdio. 2006-10-18 12:35:40 +02:00
Markus Amsler 9ae995f674 msvcrt: Fix fread eof handling. 2006-10-13 11:20:40 +02:00
Markus Amsler fdd61a7a35 msvcrt: fread: Fill buffer on small reads. 2006-10-13 11:20:35 +02:00
Michael Stefaniuc 6520ee04c8 msvcrt: Win64 printf format warning fixes. 2006-10-04 09:58:47 +02:00
Duane Clark 9a71b483d3 msvcrt: fgetc needs to use unsigned parameters.
Spotted by and adapted from test written by Tobias Ringström.
2006-09-26 11:41:25 +02:00
Andrew Talbot c5df5717e9 msvcrt: Cast-qual warnings fix. 2006-09-20 12:23:32 +02:00
Duane Clark 4d3952f3dc msvcrt: In text mode a ctrl-z signals EOF.
Spotted by David Hagood with test suggested by Dan Kegel.
2006-08-09 17:33:23 +02:00
Michael Stefaniuc 243a3e4107 msvcrt: Remove redundant NULL checks before MSVCRT_free. 2006-08-09 11:21:07 +02:00
Duane Clark bc194793a7 msvcrt: Fix fgetwc/s in binary mode. 2006-07-31 21:44:17 +02:00
Duane Clark 5c4b18a931 msvcrt: Remove read_i loop and fix fread. 2006-07-31 21:43:01 +02:00
Duane Clark 88aeeb9fd8 msvcrt: Fix _getw. 2006-07-31 11:15:21 +02:00
Duane Clark b44ea8084d msvcrt: Fix fread. 2006-07-31 11:15:21 +02:00
Duane Clark b37b967add msvcrt: Fix _read and fgetc. 2006-07-31 11:15:21 +02:00
Alexandre Julliard 24beabfd4e msvcrt: Explicitly specify CDECL calling convention on exported functions. 2006-06-13 11:40:23 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
qingdoa daoo 4f7adfb04a msvcrt: Don't duplicate handle in _get_osfhandle. 2006-05-08 17:40:09 +02:00
Eric Pouech 819565be21 msvcrt: IO init.
Make sure, when copying handles from std ones (when no io info is
inherited from parent) to create inheritable handles (spotted by
qingdao daoo).
2006-04-11 12:38:23 +02:00
Alexandre Julliard 19a088202a msvcrt: Fix fflush() of files opened for read.
Some apps, for no particular reason, call fflush() on files opened for
read.  This keeps them from tripping over their shoelaces.
2006-03-27 11:30:50 +02:00
Peter Beutner 72017cc9ab msvcrt: Correctly set EOF flag in fread().
Setting the EOF flag only if _read() returns zero is not enough as we
could also read something AND hit the end of file.
_read() already sets another internal EOF flag, so just use this too.
Removing todo_wine from the test case.
2006-02-17 17:38:03 +01:00
Peter Beutner 58d3f14514 msvcrt: Fix use of uninitialized variable. 2006-02-17 17:37:14 +01:00
Uwe Bonnes b53ed5866d msvcrt: In _mktemp sixth generated charater always starts with 'a'. 2006-02-10 15:52:47 +01:00
Alexandre Julliard a17b2c1cd2 msvcrt: Use the msvcrt version of printf everywhere. 2006-01-24 12:21:58 +01:00
Sasha Slijepcevic 736cd60340 msvcrt: In _tempnam, if TMP is set, it has a precedence over the
parameter dir.
2006-01-18 14:22:27 +01:00
Saulius Krasuckas 5a10c37dba Fix _fcloseall() return value.
Improve some trace messages.
Add tests for fopen(), fclose(), _fcloseall().
Stricten some checks of _unlink().
2005-11-16 11:47:51 +00:00
Vitaliy Margolen a6a5fb7a70 Fix initial position for files opened with O_APPEND flag. 2005-10-07 15:01:15 +00:00
Francois Gouget c63b85b866 Make it clear the empty body sections are not accidental. 2005-09-26 09:54:47 +00:00
Mike McCormack 6dc69f5f54 Fix gcc 4.0 warnings. 2005-09-02 12:26:21 +00:00
Felix Nawothnig 30e248ff90 Allow reading 0 bytes in fread. 2005-07-10 17:46:08 +00:00
Paul Rupe 45f1b06b94 Make ungetc(EOF) a no-op. 2005-06-25 17:58:19 +00:00
Uwe Bonnes dc920056b1 Correct return value of fsetpos. 2005-05-16 08:50:28 +00:00
894c1364d4 Flush output buffers from _close() rather than MSVCRT_fclose(). 2005-05-12 09:55:02 +00:00
759263042e Return ENOENT rather than EBADF from MSVCRT_fopen() when file doesn't
exist.
2005-05-05 16:48:28 +00:00
Hans Leidekker a19bf290f0 Implement and test _chsize. 2005-03-31 19:06:10 +00:00
Jason Edmeades 9b527d4953 Make msvcrt printf use the internal routines which understand %S and
%C.
2005-03-07 11:00:46 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Bill Medland 1953a1ed2d Only report the unsupported flags.
Keep quiet about hints.
2005-01-10 14:28:21 +00:00
Lionel Ulmer 66725349d5 Handle buffering in fgetpos / fsetpos. 2005-01-04 20:37:54 +00:00
Juan Lang 9b6c0eff37 - make file functions (mostly) thread-safe
- update a couple traces
2004-12-14 11:59:43 +00:00
Rein Klazes 03d9cf286e - implement __pioinfo, __badioinfo and _adjust_fdiv
- remove all stubs of data item from the spec file, those actually may
  hide problems.
2004-12-10 15:28:25 +00:00
Juan Lang 1e23777ae5 - implement _dup, _dup2, and _pipe
- make max file descriptors 2048 to match MS
- increase max file streams to match
2004-12-09 16:51:26 +00:00
Juan Lang b100339e2f Flush file in fputc when character is '\n'. 2004-12-07 17:05:08 +00:00
Juan Lang 4120647ae7 Set st_mode bits in _fstati64. 2004-12-06 16:14:09 +00:00
Tony Lambregts 2dec525020 Fix up init_fp test for freopen. 2004-11-03 22:17:05 +00:00
Hans Leidekker 9ec800fd6d Prefix _fsopen with MSVCRT_ to avoid collision with MinGW header.
Typo fix.
2004-10-14 00:26:39 +00:00
Hans Leidekker fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Eric Pouech 0bfb1cbc6b - msvcrt: the file descriptors are now inherited between parent/child
processes
- kernel32.CreateProcess: make use of the *reserved2 fields for
  C-RunTime data inheritance
2004-09-03 01:05:30 +00:00
Dimitrie O. Paun 0377462460 Split the MSVCRT implementation headers from the public headers.
Fix some naming conventions aberrations.
Add tests to ensure consistency between the two sets of symbols.
2004-06-25 01:19:15 +00:00
Uwe Bonnes f7e9e5b788 Fixed typo. 2004-05-27 20:01:34 +00:00
Alexandre Julliard adc86dccaa Fixed copy/paste bug in previous change. 2004-05-13 00:23:25 +00:00
Eric Pouech bcc2a5c540 - rewrote the file code so that streams manage low level file desc
(the code was written the other way around)
- reworked the flag handling code (now the stream._flag is closer to
  what MS does)
- simplified temp files handling by using FILE_FLAG_DELETE_ON_CLOSE in
  CreateFile
- fixed a couple of bugs
2004-05-12 00:12:26 +00:00
Hans Leidekker 821f4775a3 - Prefix many more functions, types, structs, etc. with MSVCRT_.
- Correct prototypes for _memccpy()/_memicmp().
- "define before use" reordering in file.c.
- Use the new math.h/float.h.
2004-03-16 19:17:11 +00:00
Alexandre Julliard c042e13ef6 Fixed varargs handling in the scanf functions (spotted by Eric
Pouech).
2004-02-19 01:13:12 +00:00
Alfons Hoogervorst bfc4044511 Fix infinite loop in _flushall. 2004-02-09 20:49:34 +00:00
Alexandre Julliard dec198afe0 Implemented the remaining 64-bit file functions, and added a few other
functions and exported variables.
Removed the almost empty lconv.c file.
2004-01-13 05:45:05 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Ulrich Czekalla 736d96b5b3 Duplicate stdin/stdout handles to avoid closing them when library is
unloaded.
2003-10-31 04:17:45 +00:00
Pavel Roskin 6d6d06a8dc Make MSVCRT__sopen() complain louder about unknown oflags, but not
about _O_WRONLY.
MSVCRT_fopen() should pass third argument to _open() because it may
set _O_CREAT.
2003-10-24 04:21:09 +00:00
Pavel Roskin 9661d05b4e MSVCRT_tmpnam(): complete rewrite. Use the same names as the native
version.  Use the caller-supplied buffer if possible.
2003-10-24 00:23:51 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Daniel Marmier f95be92d24 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-15 03:35:54 +00:00
Uwe Bonnes 7b8b62e61a fget(w)s(): Don't drop characters when buffer is not large enough. 2003-10-07 05:22:04 +00:00
Uwe Bonnes 16fa009085 _write(): Don't fragment WriteFile() for TEXT mode write. 2003-10-07 04:01:28 +00:00
Uwe Bonnes 6fbcacbb92 _read(): In _O_TEXT mode make Readfile calls in chunks as big as
possible.
2003-10-07 03:33:58 +00:00
Alexandre Julliard 2470af6213 _tempnam and _wtempnam should not create the temp file (reported by
Wim Vanderbauwhede).
2003-09-27 02:45:39 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Adam Gundy 9ea3c2d3ee _open_osfhandle is expected to take the absence of either _O_TEXT or
_O_BINARY to mean _O_BINARY.
2003-05-08 21:02:31 +00:00
Andreas Mohr 51c38cc729 Fix blatantly wrong SetFilePointer() calls. 2003-04-14 21:33:49 +00:00
Adam Gundy 2f5e5f3d29 MSVCRT_fclose() mustn't use the _flag field from the file structure
after _close() has been called.
When _open_osfhandle() is used by MFC's CStdioFile, it expects write
access even though it doesn't set the necessary flag bit.
2003-03-30 03:06:30 +00:00
Uwe Bonnes f540ea642e Rough implementation of _O_TEXT/_O_BINARY translation by doing single
byte read/writes in _O_TEXT mode and CR/LR handling.
fput/getwc must read multibyte characters in _O_TEXT.
Added test cases for _O_TEXT/_O_BINARY file handling and fgetws.
2003-02-19 22:09:33 +00:00
Dimitrie O. Paun 13098ea188 Create stubs for chsize, dup, and dup2. 2003-01-11 21:01:04 +00:00
Alexandre Julliard 5f31b32946 Use MSVCRT_wchar_t instead of WCHAR so that the implementation matches
the prototypes.
2002-12-19 04:21:30 +00:00
Alexandre Julliard 3f5ff2fba2 Avoid including other headers from the msvcrt headers, duplicate some
definitions instead like Windows does.
Always define wchar_t (suggested by Dimitrie O. Paun), and use wchar_t
everywhere instead of WCHAR to avoid depending on Windows headers.
2002-12-18 20:17:20 +00:00
Bill Currie c78902221f fdopen: don't rewind the file after creating the FILE* handle. Added
unit test for that.
2002-12-17 04:18:07 +00:00
Stefan Leichter a5d7fbfb10 Converted implementation of _lseek to _lseeki64, implemented _lseek by
calling _lseeki64.
2002-11-25 20:50:01 +00:00
Stefan Leichter b88a9d5399 Converted implementation of _stat and _fstat to _stati64 and
_fstati64.
Implemented _stat/_fstat by calling _stati64/_fstati64.
2002-11-25 02:44:34 +00:00
Michael Stefaniuc 789b4b4204 Compile the msvcrt dll with -DSTRICT. 2002-10-25 03:12:01 +00:00
Martin Wilck 94638aa276 MSVCRT needs a public errno.h file. 2002-09-17 18:32:53 +00:00
Martin Wilck 27a91c782e Fix MoveFileEx() flags in MSVCRT rename()/_wrename(). 2002-09-16 22:39:50 +00:00
Alexandre Julliard 1668870f38 Fixed warnings caused by new winternl.h. 2002-09-12 22:28:01 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Daniel Gudbjartsson 42c74d6454 Combined the implementation of all the scanf's in a single place.
Added implementations of fwscanf, swscanf, wscanf and sscanf.
Corrected the declaration of swscanf.
Added implementation of the l, h, L and w prefixes.
Added implementation of the c, C, s, S and n types.
2002-08-17 01:22:00 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Alexandre Julliard 4c5d562c30 Add MSVCRT prefix to _stat and _fstat (based on a patch by Rafael
Kitover).
2002-07-31 20:04:57 +00:00
Alexandre Julliard 44b4235af2 Fixed per-thread data handling.
Made terminate and unexpected function pointer per-thread.
Added set_se_translator.
2002-07-19 03:24:50 +00:00
Uwe Bonnes 4ec51d090a _open_osfhandle: set at least the _IOREAD flag. 2002-07-09 01:58:27 +00:00
Uwe Bonnes 05ccdea0fa MSVCRT_fread: expose feof flag. 2002-07-08 20:44:09 +00:00
Uwe Bonnes 73c3033029 MSVCRT_fseek: should return 0 on success. 2002-07-08 19:39:01 +00:00
Alexandre Julliard af0d206752 Flush stdio on exit. 2002-07-05 21:23:07 +00:00
Gregg Mattinson 7c4cb515b6 Cast void* to char* for pointer arithmetic. 2002-07-03 21:10:43 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Francois Gouget 905cb7e316 Implemented _getws. 2002-05-19 22:21:17 +00:00
Patrik Stridvall fc2be7edcc Fixed some issues found by winapi_check. 2002-04-29 18:48:56 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Andriy Palamarchuk 95de1f8365 fwrite: fixed handling of already buffered data. 2002-03-27 21:03:24 +00:00
Andriy Palamarchuk 8c45390a7f Added check to fwrite for size == 0.
Fixed order and format of "size" and "nmemb" parameters in calls to
fwrite.
2002-03-21 01:23:32 +00:00
Bill Medland 716ffc5bef Connect the msvcrt file byte locking up to ntdll. 2002-03-20 22:50:38 +00:00
Waldek Hebisch 75315fa6d8 Implemented stdio buffering and ungetc. Misc stdio fixes. 2002-03-11 05:03:05 +00:00