Commit Graph

289 Commits

Author SHA1 Message Date
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
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Peter Hunnisett d1a79ea2eb Add _lock,_unlock and header file for them.
Convert all msvcrt locks over to use _lock and _unlock.
Explicitly make msvcrt compile with multithreaded option.
Fix flag handling in _sopen. Add W->A call for new _swopen.
2002-02-21 20:22:00 +00:00
C. Scott Ananian 48a87e6107 Filled out the implementation of fscanf and _cscanf. 2002-02-08 17:17:11 +00:00
Dimitrie O. Paun 693cca5d4d Make FIXMEs more grep-able. 2002-01-29 03:12:19 +00:00
Alexandre Julliard bd1689ec0a Don't include debugtools.h in the header file, moved it to the C files
that need it (and used the new wine/debug.h while we are at it).
2002-01-22 00:57:16 +00:00
Uwe Bonnes a8322d0b02 _stat: Better test for drive letter. 2002-01-14 18:35:21 +00:00
Dmitry Timoshkov ca737fa478 Fix definition of BY_HANDLE_FILE_INFORMATION structure. 2001-12-26 19:50:58 +00:00
Francois Gouget 0a26d420d9 The _IOXXX macros conflict with system headers on Solaris. Prefix
them.
2001-10-15 17:50:55 +00:00
Francois Gouget e716fa75bd Renamed W_OK to MSVCRT_W_OK. 2001-09-26 23:04:02 +00:00
Marcus Meissner ff584e4d9c Pass handle to GetFileType, not MSVCRT fd. 2001-07-23 18:02:18 +00:00
Peter Hunnisett e3454c78ba CreateFile should be called with security attributes in _open. 2001-07-10 19:03:46 +00:00
Francois Gouget b6dc0940c2 fclose should return EOF (-1) if an error condition exists. 2001-05-31 21:33:32 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Francois Gouget e7f75c5dfb Include the msvcrt headers, remove duplicate definitions.
Fixed the signature of a few functions.
Don't use wcs* functions, use *W (from unicode.h) instead.
2001-04-10 23:25:25 +00:00
Francois Gouget 203a8f8290 Adjust the 'MSVCRT_' prefix to match the msvcrt headers
Prefix internal methods with 'msvcrt_' instead of 'MSVCRT_', '__MSVCRT_', etc.
Remove '_cdecl', it's unnecessary
2001-04-10 21:16:07 +00:00
Eric Kohl 03df00e925 Added stub for _setjmp3().
Implemented _sopen().
2001-03-19 19:13:40 +00:00
Jon Griffiths 34c786b2db - New msvcrt unicode functions, winapi_check/-Wall/-W clean.
- Forward to ntdll where possible.
- Fix some .spec entries with incorrect parameters.
2001-01-22 02:21:54 +00:00
Jon Griffiths 1db20bfd33 - Migrate CRTDLL to MSVCRT.
- Many fixes and a load of new functions.
2001-01-10 23:59:25 +00:00