Commit Graph

726 Commits

Author SHA1 Message Date
Peter Beutner 62dc7f52f4 msvcrt: Fix handling of nested exceptions.
Move handling of nested exceptions completely in the
catch_function_nested_handler().  If a new exception was thrown inside
a catch block destroy the old exception object, if it is a rethrow
re-propagate the previous object.
2006-02-22 12:04:13 +01:00
Michael Stefaniuc 4758df4687 msvcrt: Misc cleanups in undname.c.
- remove unused argument from functions
- print the pointer in the str_array_push TRACE to be able to distinguish
  the different arrays.
- comment and white space cleanups
2006-02-20 11:18:51 +01:00
Michael Stefaniuc 067be97852 msvcrt: Add some tests for __unDName().
Add some tests for unDName() checking:
- data type modifiers A,B,P,Q,R,S
- literal strings
- back references to names
2006-02-20 11:18:25 +01:00
Michael Stefaniuc 262a5eec78 msvcrt: Use a separate stack for back references to names
Use a separate array/stack for the back references to names as
sym->stack is used to push temporary strings to it which breaks back
referencing in some occasions (26 symbols in the mfc42 dll).  During
this cleanup get_class() a little bit.
2006-02-20 11:18:04 +01:00
Michael Stefaniuc e367ebbf19 msvcrt: Move code to parse a literal string out of get_class().
unDName: Move the code to parse a literal string from get_class() to a
separate function. Add some error handling to the new function.
2006-02-20 11:17:41 +01:00
Michael Stefaniuc 538d1a1233 msvcrt: Wrap get_class() and get_class_string() for unDName. 2006-02-20 11:16:59 +01:00
Michael Stefaniuc 29fe8d02c7 msvcrt: Fix 20 tests from demangle_test() on old Win versions.
In test_demangle use a custom strcmp that treats multiple spaces as
single space. __unDName() from older msvcrt (including W2K it seems)
emit in some places 2 spaces instead of one. Fixes 20 failing tests on
those old Windows versions.
2006-02-20 11:16:27 +01: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 b786ea588c msvcrt: Add test for fread/feof.
When calling fread() with a large enough buffer to reach the end of
the file a subsequent feof() should return true; (marked as todo_wine
because it doesn't work atm).
2006-02-17 17:37:40 +01:00
Peter Beutner 916c4b6b8c msvcrt: Remove bogus code.
We can't just pop a exception record from the exception handler list
which we haven't put there.
2006-02-17 17:37:26 +01:00
Peter Beutner 58d3f14514 msvcrt: Fix use of uninitialized variable. 2006-02-17 17:37:14 +01:00
Mike McCormack 968445ca77 msvcrt: Fix a typo. 2006-02-13 13:24:26 +01:00
Dmitry Timoshkov ea0e7b3397 msvcrt: localtime should accept any positive time value. 2006-02-11 12:15:21 +01:00
Uwe Bonnes b53ed5866d msvcrt: In _mktemp sixth generated charater always starts with 'a'. 2006-02-10 15:52:47 +01:00
Michael Stefaniuc d815b50756 msvcrt: __unDNameEx is not a stub. 2006-02-08 12:42:33 +01:00
Michael Stefaniuc 0df8b0a020 msvcrt: Handle data types B,R,S in C++ symbol demangling. 2006-02-07 12:27:35 +01:00
Eric Pouech e66e227dbe Fixes for missing prototypes warnings. 2006-02-06 13:13:28 +01:00
Alexandre Julliard 28486da991 msvcrt: Make error strings static. 2006-01-24 14:00:46 +01:00
Alexandre Julliard 2a192064e8 ntdll: memcpy should behave like memmove in ntdll too. 2006-01-24 12:28:34 +01:00
Alexandre Julliard b7b7f2b679 Avoid importing _strlwr/_strupr from ntdll. 2006-01-24 12:24:05 +01:00
Alexandre Julliard a17b2c1cd2 msvcrt: Use the msvcrt version of printf everywhere. 2006-01-24 12:21:58 +01:00
Alexandre Julliard 2dacd3c54e msvcrt: Properly implemented strerror and perror (based on a patch by
Uwe Bonnes).
2006-01-23 19:58:10 +01:00
Alexandre Julliard 401ead5c8f msvcrt: Added _sys_errlist (based on a patch by Uwe Bonnes). 2006-01-23 19:30:21 +01:00
Alexandre Julliard 4755f8acec msvcrt: Added EILSEQ definition. 2006-01-23 19:29:36 +01:00
Hans Leidekker 1b69f035e1 msvcrt: Stub implementation for wcsftime. 2006-01-23 19:29:15 +01:00
Alexandre Julliard c016509119 msvcrt: Preserve all registers in call_ebp_func. 2006-01-21 19:23:02 +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
Marcus Meissner 71908c41c3 msvcrt: _makepath(): operate on target buffer directly. 2006-01-17 16:20:37 +01:00
Alexandre Julliard 30a90e1842 msvcrt: Forward functions to ntdll instead of libc where possible. 2006-01-14 17:42:12 +01:00
Alexandre Julliard b34ac466b1 msvcrt: Added wrappers for a few functions instead of linking them
directly to libc.
2006-01-14 17:40:29 +01:00
Alexandre Julliard 78412005e1 msvcrt: Set errno in the standard math functions too, not only in the
_CI* variants.
2006-01-14 17:36:23 +01:00
Alexandre Julliard ee603ce6dd msvcrt: Make snprintf and snwprintf use the msvcrt version of printf.
Remove todos from tests that succeed now.
2006-01-14 17:30:02 +01:00
Alexandre Julliard ad8cb6133e msvcrt: Reimplement rand() and srand() to use per-thread data for the
random seed.
2006-01-14 17:27:28 +01:00
Alexandre Julliard 2ec3b96135 msvcrt: Make strtok and wcstok thread-safe by using the per-thread data. 2006-01-14 17:24:49 +01:00
Alexandre Julliard f9e5b0f5f0 msvcrt: Implemented asctime, ctime and strftime instead of using the libc ones.
Make the code thread-safe by using asctime_r if available.
2006-01-14 17:22:03 +01:00
Aric Stewart 4bc3b16b44 msvcrt: Modify dir test to create its own directory to ensure the
directory exists for the test. Using the temp dir as the root.
2006-01-11 20:55:38 +01:00
Aric Stewart 3022ade359 msvcrt: Add a regression test for _fullpath. 2006-01-06 21:46:09 +01:00
Aric Stewart e09a6c8080 msvcrt: Reworked _fullpath.
Investigation with native msvcrt revealed that it is a wrapper for
GetFullPathName and the current implementation was crashing with older
mozilla installs if the path passed in was uninitialized.
2006-01-06 21:45:26 +01:00
Alexandre Julliard 545c4b7e7c msvcrt: Added assembly routines to save/restore registers for setjmp/longjmp
to avoid the overhead of a full-blown register function.
Some tracing improvements.
2006-01-05 14:36:37 +01:00
Alexandre Julliard abb170fac3 msvcrt: Added some assembly glue for the asm bits of __CxxFrameHandler
to avoid having to save/restore the whole context on every call.
2006-01-05 13:56:11 +01:00
Jesse Allen c5dc38874a msvcrt: More printf tests for I64 integer size support. 2005-12-26 13:01:49 +01:00
Jesse Allen 419d493aac msvcrt: pf_integer_conv for I64.
- Add pf_integer_conv and pf_is_integer_format.
- Update pf_fill to handle printing the sign for signed integers.
- Handle I64 integer sizes using pf_integer_conv and pf_output_format_A.
2005-12-26 13:01:38 +01:00
Jesse Allen ee058ed078 msvcrt: Do not treat %ll as an IntegerDouble in printf. 2005-12-26 13:00:35 +01:00
Jesse Allen 6c70942a05 msvcrt: Parse I, I32, and I64 integer size flags in printf. 2005-12-26 13:00:01 +01:00
Maxime Bellengé def7563526 msvcrt: Prevent a crash if TlsGetValue returns NULL in DLL_THREAD_DETACH. 2005-12-26 12:57:06 +01:00
Alexandre Julliard 06c1a36bce msvcrt: Return a per-thread buffer in localtime and gmtime. 2005-12-21 20:54:26 +01:00
Marcus Meissner 9a583763ee msvcrt: Implemented wctime(), wasctime().
Free thread data in DLL_THREAD_DETACH.
2005-12-21 20:23:47 +01:00
Jesse Allen 180326bb0a msvcrt: Fix printf sign flags.
Fix the printf sign flags so that '+' doesn't always override ' '
space alone.  If they both appear, continue parsing and let '+' take
precedence.
2005-12-21 20:07:03 +01:00
Jesse Allen 39b725b799 msvcrt: Ignore PadZero when LeftAlign is true in printf conversions. 2005-12-20 11:49:05 +01:00
Jesse Allen 5c6311688c msvcrt: Require exact uppercase and lowercase format in printf routines. 2005-12-19 21:26:46 +01:00
Alexandre Julliard ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Alexandre Julliard 15430f6eda Add -register hint in ntdll, kernel and msvcrt spec files. 2005-12-16 12:44:58 +01:00
Eric Pouech 681b71ed9a Functions with no paramters must be (void). 2005-12-12 12:42:44 +01:00
Alexandre Julliard 7dd571693a Improved the CHECK_DEF macro to avoid code duplication. 2005-12-01 12:55:53 +01:00
Alexandre Julliard c1ed640224 Prefix signal definitions with MSVCRT_ to avoid conflicts with system
headers.
2005-12-01 12:48:44 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Mike McCormack d160c8b926 Add some tests for _fcvt. 2005-11-24 19:23:10 +01:00
Alexandre Julliard cc01e8ff05 Preserve 16-byte stack alignment in the various assembly
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Rein Klazes f0af162aa3 Fix bogus unreal code page messages in _setmbcp(). 2005-11-21 13:34:37 +00:00
Rein Klazes 3d96c56f24 Do not forward _mbccpy to strcpy.
Remove the error message in _mbccpy, it is not an error.
2005-11-21 13:34:29 +00:00
Rein Klazes 6f92870a80 Fix _mbsspn() with conformance tests. 2005-11-21 12:03:18 +00:00
Saulius Krasuckas b9758443e2 Minor MSVCRT test changes:
- add two invalid parameter checks for fopen(),
- rearrange test sequence into two parts (low-level and stream I/O),
- break long line.
2005-11-21 11:58:11 +00:00
Eric Pouech ced7436fe9 Ensures, when we cannot demangle the string, to return the mangled
name instead of a NULL pointer.
2005-11-18 12:06:00 +00:00
Eric Pouech 9db2d323fa Provide a sample of the joy of MSC symbol mangling. 2005-11-17 11:05:00 +00: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
Uwe Bonnes 6cc66c9925 Undname: Allow more then one coded character in demangle_datatype. 2005-11-14 15:11:39 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Kevin Koltzau 935dea2fb4 Fix warnings and errors in 64bit. 2005-11-03 13:17:51 +00:00
Marcus Meissner d5cf055d64 Specify a DLL version for msvcrt.dll. 2005-11-03 12:05:05 +00:00
Alexandre Julliard 74d04a020d Fixed _wstrdate/_wstrtime parameters. 2005-11-01 18:11:08 +00:00
Robert Reif b8d1544661 Implement _wstrdate and _wstrtime with tests. 2005-10-30 19:03:58 +00:00
Peter Beutner 78ea87c580 Fix exception handling for non CXX_EXCEPTIONs. 2005-10-30 19:03:43 +00:00
Kevin Koltzau f9fb40e572 Enable line editing for _cgets. 2005-10-29 10:29:24 +00:00
Mike McCormack cbe3fb6922 Use the correct buffer - reported by Jesse Allen. 2005-10-28 09:40:16 +00:00
Vijay Kiran Kamuju ecc633adb7 Added a test case for %0f and %.0f. 2005-10-27 12:25:18 +00:00
Mike McCormack 990e537ac5 Missing and zero precision specifiers are different. 2005-10-27 10:20:08 +00:00
Eric Pouech 0518c164ca Previous fix incorrectly removed all test for strings starting with
'?', this is only valid when undname is called with the 'NO_ARGUMENTS'
flags.
2005-10-26 10:09:05 +00:00
Alexandre Julliard bb648917b6 _cexit should call the atexit functions. 2005-10-21 15:55:20 +00:00
Vijay Kiran Kamuju 9c6a15ce62 Fix msvcrt symbol demangling for non MS symbols. 2005-10-20 13:15:11 +00:00
Vitaliy Margolen 9b748c8de2 Fix _ismbblead test to pass on windows. 2005-10-10 18:00:20 +00:00
Richard Cohen b70a5f2954 Fix an error message. 2005-10-10 10:29:24 +00:00
Vitaliy Margolen 935fcfa8bc Add a few tests that fail under wine. 2005-10-08 10:34:58 +00:00
Vitaliy Margolen a6a5fb7a70 Fix initial position for files opened with O_APPEND flag. 2005-10-07 15:01:15 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard 6b2a9b3022 Added implementation of _dstbias and __p__dstbias.
Added macros for _dstbias, _daylight, _timezone and _tzname.
2005-09-27 10:55:50 +00:00
Francois Gouget c63b85b866 Make it clear the empty body sections are not accidental. 2005-09-26 09:54:47 +00:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Vijay Kiran Kamuju 07b53de0b2 Implementation of _get_sbh_threshold and _set_sbh_threshold
functions.
2005-09-23 10:07:05 +00:00
Vijay Kiran Kamuju 8c2ba6f93c Added __p__amblksiz implementation. 2005-09-19 14:41:25 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Vijay Kiran Kamuju 6e940bb21e Added a test for failing _ismbblead. 2005-09-06 11:41:48 +00:00
Eric Pouech b379e420ed Fixes for function prototypes without arguments. 2005-09-06 09:27:37 +00:00
Mike McCormack 6dc69f5f54 Fix gcc 4.0 warnings. 2005-09-02 12:26:21 +00:00
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
Vitaly Lipatov 442c253a01 Add missed _mbscoll function. 2005-08-24 18:14:06 +00:00
Mike McCormack 792d7eb23d Fix gcc 4.0 warnings. 2005-08-23 18:49:18 +00:00
Jason Edmeades 8f8ec2adcc _swab failed if src == dest, plus some testcases. 2005-08-19 10:01:42 +00:00
Mike McCormack b744372231 Turn off gcc 4.0's builtin wchar inlines. 2005-08-11 17:12:18 +00:00
Vijay Kiran Kamuju f58eed36ff Fix _setmbcp behavior for unreal codepages. 2005-07-11 14:21:53 +00:00
Felix Nawothnig 30e248ff90 Allow reading 0 bytes in fread. 2005-07-10 17:46:08 +00:00
Eric Pouech 879a8f3a2c Fixed erroneous file flag in _popen. 2005-07-05 14:07:00 +00:00
Stefan Huehner 17ed5537e7 Fix some more -Wmissing-declarations warnings. 2005-07-05 11:05:50 +00:00
Marcus Meissner 222d74ae27 char pointer must be 11 byte to fit 10 characters + \0. 2005-07-03 11:19:29 +00:00
Stefan Huehner ffe53258aa Fix some -Wstrict-prototypes warnings. 2005-06-27 09:57:28 +00:00
Eric Pouech a1deba5ab4 - OpenConsole: try to open the Unix console if we fail with wineserver
- kernel32: simplifying code for opening a console handle
- msvcrt: now correctly initializing the handles to the Windows
  console
2005-06-27 09:54:09 +00:00
Paul Rupe 45f1b06b94 Make ungetc(EOF) a no-op. 2005-06-25 17:58:19 +00:00
Alexandre Julliard dcad0864bb Fix duplication of _Getnames and _Gettnames, only the latter actually
exists.
2005-06-22 18:07:31 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Stefan Huehner 9213d56ae0 Make some function static. 2005-06-20 15:35:54 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Alexandre Julliard ccb64b117f Store vtables in the data segment to avoid text relocations. 2005-06-16 15:53:29 +00:00
Eric Pouech 98b2e381f6 _findclose() exists on MinGW, so prefix it. 2005-05-29 20:04:40 +00:00
Phil Krylov 6618b0355c Added detection of platforms which don't have external timezone and
daylight variables, and emulation of these variables.
2005-05-24 11:52:46 +00:00
Uwe Bonnes f9cad774dc Implement minimal _stricoll. 2005-05-23 10:27:58 +00:00
Juan Lang 6560c48ecc Implement _XcptFilter using signal handlers, and add a couple traces. 2005-05-19 14:21:21 +00:00
Uwe Bonnes dc920056b1 Correct return value of fsetpos. 2005-05-16 08:50:28 +00:00
Juan Lang 7bf1ee877d - move _timezone to time.c, and correct its type
- implement _tzset, and initialize _daylight, _timezone, and _tzname
  from libc values
2005-05-14 11:07:10 +00:00
Juan Lang e5b4a6973a Implement signals. 2005-05-13 17:44:28 +00:00
894c1364d4 Flush output buffers from _close() rather than MSVCRT_fclose(). 2005-05-12 09:55:02 +00:00
6cfcda9959 Add test for correctly interpreting %% printf format string conversion
specifier.
2005-05-11 12:00:34 +00:00
f438056b5d Interpret %% correctly in printf format string. 2005-05-10 08:27:38 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard 26050b49d5 Prefix the internal name of all register functions with __regs_ for
better consistency and to make automated checking possible.
2005-05-07 18:10:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
759263042e Return ENOENT rather than EBADF from MSVCRT_fopen() when file doesn't
exist.
2005-05-05 16:48:28 +00:00
Alexandre Julliard 240d4ee9e1 Remove a few more instances of strncpy. 2005-04-25 15:51:45 +00:00
Juan Lang 576aa4a6d8 Export _tzname, expected by Mozilla. 2005-04-23 19:06:29 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Eric Pouech 05413fccc5 Fixed some signed / unsigned pointer casts. 2005-04-18 09:54:03 +00:00
Rein Klazes b6d331d680 Fix decoding printf format in case the field width specifier is a '*'. 2005-04-14 11:32:53 +00:00
Hans Leidekker a19bf290f0 Implement and test _chsize. 2005-03-31 19:06:10 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
C. Scott Ananian 9ef2706a77 Allow scanf to continue parsing format string after a '%n'. 2005-03-10 11:44:19 +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
Mike McCormack 5def7dd337 Handle %ls in sprintf. 2005-03-05 10:46:46 +00:00
Mike McCormack 5b4327515e Handle the printf %F format modifier. 2005-03-04 10:47:27 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Uwe Bonnes 0fb9ef68f3 Advance over * argument for precision.
Honor precision argument for strings.
2005-02-25 19:16:46 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Gunnar Dalsnes 1b7e736334 When getting current directory on a drive different from the working
drive, _getdcwd incorrectly passed "X:\" (X = any drive) as path to
GetFullPathName. "X:" (without the backslash) is the correct thing to
use.
2005-02-18 12:51:00 +00:00
Francois Gouget dd073bbb3f Cast the GetProcAddress() return value to avoid warnings about the
function pointer being of the wrong type.
Fix assorted signed/unsigned comparison warnings.
2005-02-14 21:04:45 +00:00
Mike McCormack 2cc5f1e469 Add handling of %ws, %S and %C to _vns(w)printf, improve sprintf
tests.
2005-02-14 20:53:42 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Francois Gouget 168265ebb0 Fix handling of EOF for the '%c' and '%C' cases in scanf().
Add conformance tests to verify the behavior of '%c'.
Improve some of the test's error messages.
2005-01-28 11:27:26 +00:00
Bill Medland 1953a1ed2d Only report the unsupported flags.
Keep quiet about hints.
2005-01-10 14:28:21 +00:00
Lionel Ulmer cc89feb9c4 fpos_t should be 64 bits (verified with native MSVCRT.DLL) 2005-01-04 20:38:14 +00:00
Lionel Ulmer 66725349d5 Handle buffering in fgetpos / fsetpos. 2005-01-04 20:37:54 +00:00
Eric Pouech 89f5283432 Some missing const correctness fixes. 2005-01-03 14:50:12 +00:00
Rein Klazes 3714a39867 Correct cases where arguments of ok() calls depend on the order in
which they are evaluated.
2004-12-27 17:26:37 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Juan Lang 7b44be79df Implement _popen and _pclose, and use debugstr_a to avoid a crash
tracing long command lines.
2004-12-14 15:13:54 +00:00
Juan Lang 8c0ccdcb68 Use debugstr_a to avoid crash tracing long command line. 2004-12-14 15:13:05 +00:00
Juan Lang 9b6c0eff37 - make file functions (mostly) thread-safe
- update a couple traces
2004-12-14 11:59:43 +00:00
Francois Gouget eb3f078c75 Add trailing '\n's to ok() calls. 2004-12-14 11:41:24 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +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
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +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
Juan Lang e3060b4d98 msvcrt_spawn should free STARTUPINFOA's lpReserved2, not its address. 2004-12-06 16:08:36 +00:00
Peter Chapman 505dfdefb5 Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Eric Pouech d3b39fe3f2 Fixed file name when opening NUL. 2004-11-28 15:01:50 +00:00
Bill Medland 2ea15a5673 Don't mess up the msvcrt codepage on e.g. _MB_CP_ANSI. 2004-11-21 15:42:03 +00:00
Eric Pouech a2d24c8a4a Now that name undecoration works, fix the type info. 2004-11-08 22:11:05 +00:00
Eric Pouech 98f94544ac Implemented __unDName and __unDNameEx functions. 2004-11-08 22:10:43 +00:00
Rein Klazes dceae02d73 - RtlTimeFieldsToTime should not normalize the time fields
structure. Instead return error when it is given an unormalized
  date.
- Use better algorithms for RtlTimeToTimeFields and
  RtlTimeFieldsToTime. RtlTimeToTimeFields is about 3 times faster.
- Add tests for RtlTimeFieldsToTime.
- SystemTimeToFileTime must fail if RtlTimeFieldsToTime fails. Users
  of SystemTimeToFileTime must do likewise.
- Remove a todo_wine from SystemTimeToFileTime tests.
- Since msvcrt.mktime must accept unnormalized dates, it cannot use
  SystemTimeToFileTime and do the calculations itself.
- Add some tests for mktime accepting unnormalized dates.
2004-11-06 03:53:53 +00:00
Aneurin Price 97cc28ff0f - Move printf tests from scanf.c to printf.c (and fix one on the
way).
- Add some more.
2004-11-04 21:03:30 +00:00
Tony Lambregts 2dec525020 Fix up init_fp test for freopen. 2004-11-03 22:17:05 +00:00
Rein Klazes 2fc0f991d8 In MSVCRT_localtime() return tm_isdst = 0 when there are no daylight
time changes in the local time zone.
2004-10-27 21:17:44 +00:00
Rein Klazes 4ca34c4b2f Correctly use the returned value from GetTimeZoneInformation. 2004-10-25 21:48:57 +00:00
Rein Klazes dc78e9a595 - mktime should compute the tm_wday, tm_yday and renormalize the
other fields of the supplied tm structure.
- add prototype declarations for the time functions.
2004-10-21 19:56:46 +00:00
Alexandre Julliard 5d5f523052 Output the virtual tables for the exception classes using assembly so
that they can have the correct layout, and get rid of the
corresponding hacks in RTTI_GetObjectLocator.
Build more of the code on non-i386 platforms too.
Protect __RTDynamicCast and friends with exception handlers.
Fix handling of the vtable pointer so that we don't need to declare
all object pointers as type_info.
2004-10-19 04:03:07 +00:00
Alexandre Julliard b8d5d962ee Fixed __RTDynamicCast to return the correct pointer for multiple
inheritance hierarchies (thanks to Muse Research for help with this
one).
Added some debug output.
2004-10-18 23:13:55 +00:00
Alexandre Julliard 21548cf02b Fixed spelling of 'hierarchy'. 2004-10-14 03:11:52 +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
Uwe Bonnes 46e922bba5 Added MSVCRT_CLOCKS_PER_SEC define. 2004-09-08 19:05:28 +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
Alexandre Julliard 1b30417811 Function parameters don't need WINE_UNUSED. 2004-09-01 04:58:21 +00:00
Alexandre Julliard 03250ff6e7 Inline functions don't need WINE_UNUSED. 2004-09-01 04:55:52 +00:00
Francois Gouget dff5004bc0 Assorted spelling fixes. 2004-08-26 00:31:20 +00:00
Francois Gouget 61d21ce706 Update RTL_BITMAP and RTL_BITMAP_RUN to match the 2000 DDK.
Only test the Rtl{Initialize,SetAll,ClearAll}Bits macros if they are
defined.
2004-08-23 18:52:54 +00:00
Francois Gouget 493cf88bb6 Remove these Wine-only types:
EnumICMProfilesProcCallback
  PEXCEPTION_REGISTRATION_RECORD
Don't test these Wine-only types:
  EMRSETTEXTJUSTIFICATION
  EXCEPTION_REGISTRATION_RECORD
Remove EXCEPTION_FRAME, it doesn't exist at all.
2004-08-22 02:07:13 +00:00
Francois Gouget 6f902f16fb The Windows headers don't define PEXCEPTION_REGISTRATION_RECORD.
Remove it.
2004-08-13 23:22:30 +00:00
Francois Gouget 48ea250887 Don't define __WINE_USE_MSVCRT in the Visual C++ project. It is not
needed as it is defined by the Wine headers.
Use __WINE_USE_MSVCRT to detect whether we are being compiled with the
Wine MSVCRT headers or the Windows ones. In the latter case:
 - don't try to include the Wine-specific msvcrt headers
 - skip all the headers.c tests since there's no MSVCRT_* symbols to
   check
2004-08-11 19:36:17 +00:00
Francois Gouget f8e01efb3d Assorted spelling fixes. 2004-07-23 23:02:09 +00:00
Mike Hearn ad4a00d35a Add some test cases for _wputenv, fix deletion of non-existent
environment variables, return -1 on error.
2004-07-19 21:23:02 +00:00
Alexandre Julliard 9d3ee0d7c1 Implemented _spawnle and _spawnlpe. 2004-07-16 03:08:19 +00:00
Pierre d'Herbemont 2c3bf27108 Don't test i386 types on non i386. 2004-07-12 23:48:58 +00:00
Alexandre Julliard bfb98f66f6 Added tests for div_t and ldiv_t. 2004-07-06 18:45:26 +00:00
Pierre d'Herbemont 30d5ce7ffb Define MSVCRT_div_t and MSVCRT_ldiv_t. 2004-07-06 18:45:02 +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
Mike McCormack db0d0bb39b Copy the vsnprintfW implementation from libunicode.so to msvcrt and
add a handler for the %S flag.  That requires a conversion to unicode
and knowledge of the current ASCII code page.
2004-06-02 00:35:09 +00:00
Uwe Bonnes f7e9e5b788 Fixed typo. 2004-05-27 20:01:34 +00:00
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Raphael Junqueira d134aa5945 Fix scanf handling of float numbers (beginning with a dot). 2004-05-17 19:49:44 +00:00
Alexandre Julliard adc86dccaa Fixed copy/paste bug in previous change. 2004-05-13 00:23:25 +00:00
Alexandre Julliard 8f7c2bc6a5 Fixed the prototypes of the _adj_fdiv_* functions. 2004-05-12 23:22:36 +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
Francois Gouget cfc3943c5f Make our ascii strings static const.
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Francois Gouget c6c109a362 Use named constants instead of magic numbers. 2004-04-09 19:03:13 +00:00
Alexandre Julliard b004771314 Portability fix. 2004-04-08 19:49:49 +00:00
Dave Belanger 9a05e1fd41 wcstod: added exponent parsing and fixed handling of negative sign. 2004-04-08 19:48:19 +00:00
Uwe Bonnes 1c6cb382bc Correct errors with move to kernel time functions.
Add test case.
2004-03-25 00:12:40 +00:00
Rein Klazes 4d6db9a6e7 The name is _longjmpex (with the underscore). 2004-03-24 23:38:16 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Uwe Bonnes 9c6774f18a Relay msvcrt_memcpy to memmove, CString::Insert seems to rely on that
behaviour. Add a test case.
2004-03-19 01:53:11 +00:00
Hans Leidekker 3f09feda6e Reimplement time functions with Win32 APIs.
Implement localtime()/gmtime().
2004-03-19 01:16:59 +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
Hans Leidekker 6ee09f5d56 Implement _ftime with Win32 APIs. 2004-03-11 00:43:47 +00:00
Dimitrie O. Paun bb6d87f626 Heap tests cleanup. 2004-03-11 00:38:14 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Uwe Bonnes 0511d33522 Implement I64 modifier, move WARN to TRACE. 2004-02-24 01:09:39 +00:00
Alexandre Julliard c042e13ef6 Fixed varargs handling in the scanf functions (spotted by Eric
Pouech).
2004-02-19 01:13:12 +00:00
Francois Gouget ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Alfons Hoogervorst bfc4044511 Fix infinite loop in _flushall. 2004-02-09 20:49:34 +00:00
Jon Griffiths f90092c4c6 Use Unicode calls instead of ASCII where applicable.
Documentation updates.
2004-02-09 20:45:59 +00:00
Francois Gouget 231fbff8d0 Add trailing '\n's to ok() calls. 2004-01-27 04:01:10 +00:00
Rein Klazes 950da26b98 Two "unknown" parameters of _unDName() turn out to be the output
string and it length. If possible, use these instead of allocating a
new one. Put the code in _unDNameEx() and call that from _unDName().
2004-01-13 22:56:59 +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
Alexandre Julliard 83883e1730 _set_error_mode is cdecl not stdcall. 2004-01-13 01:08:59 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Peter Berg Larsen a457ee0a3d %[a-z] and %[z-a] are interpreted as equivalent to %[abcde...z].
Added some scanf tests.
2004-01-06 21:36:10 +00:00
Peter Berg Larsen ccd749684f Added _BITMAPSIZE_ and split _CONVERT_ macro to remove #ifdefs. 2004-01-06 20:38:37 +00:00
Ferenc Wagner d8e98d3a0a Fix undeleted temporary file.
Correct error messages and comments, break long lines.
2003-12-30 19:09:08 +00:00
Uwe Bonnes 545a3b7118 Patch and test for scanf %i. 2003-12-15 21:06:19 +00:00
Ferenc Wagner 20c1d1e0f9 Added snprintf test. 2003-12-15 19:50:05 +00:00
Alexandre Julliard f752be843e Implement some more register functions using DEFINE_REGS_ENTRYPOINT to
make them available for imports.
2003-12-04 05:51:01 +00:00
Alexandre Julliard 0b19a6f7bc Better support for div and ldiv in Winelib apps. 2003-11-28 23:17:28 +00:00
Dimitrie O. Paun c5150fb682 Fix realloc() to match the documented behaviour.
Add a few simple tests for it.
2003-11-20 23:41:13 +00:00
Kirill Smelkov 676164cc39 Added _execle/_execlpe & _spawnle/_spawnlpe stubs. 2003-11-14 03:29:51 +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
Pierre d'Herbemont d3ab533eb3 Fixed _wfullpath prototype. 2003-10-28 21:13:13 +00:00
Uwe Bonnes 16c3f341f9 Another difference in the printf family. 2003-10-28 00:04:42 +00:00
Uwe Bonnes c23a9257f0 Added a test case for sprintf. 2003-10-24 04:24:08 +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 fac7e78a18 Added test for tmpnam(). 2003-10-24 00:24:08 +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
Dave Belanger 2c39191ef1 Fix splitpath and wsplitpath for the file extension. 2003-10-21 23:51:06 +00:00
Gerald Pfeifer ea469ad7fd Remove unused variables EXE, BAT, CMD, and COM. 2003-10-21 23:49:36 +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
Alexandre Julliard 2937826866 Rewrote splitpath and wsplitpath to avoid modifying the path
separators.
2003-10-15 02:34:51 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Uwe Bonnes 78754341db Added test for %n. 2003-10-10 00:00:35 +00:00
Uwe Bonnes 242beda8d2 %n returns the number of consumed characters. 2003-10-10 00:00:19 +00:00
Uwe Bonnes 3e83ec296e Added some tests around fget(w)s. 2003-10-07 05:30:36 +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
Uwe Bonnes 32f47b0648 MSVCRT___RTDynamicCast: Reject a NULL cppobj. 2003-10-06 21:10:44 +00:00
Daniel Marmier a613de2a22 Use #ifdef instead of #if for all feature tests.
Check that _MSC_VER is defined before using it.
2003-09-30 00:33:47 +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
Jon Griffiths 90535ce905 Various test fixes for XP/msvc. 2003-09-25 20:29:40 +00:00
Alexandre Julliard b48d812433 Rewrote getenv and _wgetenv to avoid returning a pointer to a freed
memory block.
2003-09-24 18:57:28 +00:00
Jon Griffiths 0b2d44ed53 Added tests for cpp objects/RTTI. 2003-09-24 18:49:45 +00:00
Jon Griffiths d051a95b26 A first stab at wcstod(). 2003-09-23 22:50:30 +00:00
Alexandre Julliard cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +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
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard b91e9cb3e6 Renamed a few more TEB fields. 2003-08-28 03:44:41 +00:00
Alexandre Julliard ee106783d0 Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
seems to be the official name.
2003-08-28 03:07:56 +00:00
Dimitrie O. Paun 00e5ccfa17 Stub out the _[w]popen/_pclose() functions. 2003-08-20 03:34:20 +00:00
Jon Griffiths 743b61e63a Use exception as the base for all exception derived classes.
Implement type_info methods correctly.
Add static RTTI for exported objects.
Throw exceptions when run time casts fail.
2003-08-19 03:12:32 +00:00
Alexandre Julliard 9b8a0595bc _ftol should return a 64-bit int (spotted by Jon Griffiths). 2003-08-19 01:03:08 +00:00
Alexandre Julliard f93256a56c Warning fixes. 2003-08-06 22:08:04 +00:00
André Johansen 70d1136ca7 Added a dummy implementation of the _set_error_mode() function. 2003-07-28 19:04:47 +00:00
Jon Griffiths 622a343e9f Implement __p__wpgmptr, _wpgmptr.
Avoid using static storage for pgm pointers.
2003-07-18 22:54:47 +00:00
Alexandre Julliard cf4e5d4eea Added an assembly wrapper to retrieve the this pointer from %ecx for
_thiscall functions.
Fixed some bugs, and added a few missing functions.
2003-06-17 03:59:24 +00:00
Martin Fuchs fb9d5c786f Stub implementation for _Gettnames. 2003-06-06 18:11:23 +00:00
Marcus Meissner 960b6dcebf Implemented localeconv() with libc function. 2003-06-04 20:24:56 +00:00
Uwe Bonnes 29c7e32f83 Fix some sscanf cases and testcase to get wxtide32.exe running. 2003-05-13 23:38:46 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Francois Gouget 2ec955c93f Change the #include order so the test compiles with the MSVC headers.
Fix a few signed/unsigned warnings.
2003-05-13 00:29:34 +00:00
Mike McCormack 0bfa31ee6f Implemented _wfullpath. 2003-05-12 03:31:16 +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
Michael Stefaniuc 7d77d77d71 mbtowc returns -1 if we can't find a valid multibyte char in the non
NULL source string.
2003-04-17 02:15:03 +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
Sylvain Petreolle 79461420bf _wsplitpath: Display correctly the path being split. 2003-03-27 18:35:12 +00:00
Alexandre Julliard 9612383678 Moved [efg]cvt functions to msvcrt and fixed them to use a per-thread
buffer.
2003-03-20 23:47:25 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Jon Griffiths c62c1c0158 Add __CxxDetectRethrow(), __CxxQueryExceptionSize().
Constify parameters (enabling static RTTI).
Move type definitions into a header for sharing with cpp.c objects.
2003-03-18 18:26:05 +00:00
Jon Griffiths 9c2c288139 Move a couple of shared definitions into msvcrt.h.
init_vtables() is redundant with upcoming fixes to cxx functions.
2003-03-17 21:21:59 +00:00
Jon Griffiths 26a3968758 _EXIT_LOCK2 is used by type_info objects. 2003-03-17 21:21:34 +00:00
Alexandre Julliard cf4f95326e Fixed a couple of relay arguments, and updated some of the stub
comments.
2003-03-17 04:44:12 +00:00
Alexandre Julliard a9c51cb60b Replaced forwards by normal function declarations. 2003-03-17 00:17:00 +00:00
Alexandre Julliard d354a1ca87 Implemented _getdllprocaddr(), it cannot be simply a forward to
GetProcAddress.
2003-03-17 00:05:44 +00:00
Alexandre Julliard 2c8a52ebad Implemented _chkesp, based on a patch by Jon Griffiths. 2003-03-15 22:26:09 +00:00
Jon Griffiths f5be136c58 Display abnormal exit text in a message box for GUI apps. 2003-03-15 22:25:01 +00:00
Jon Griffiths 57915f50c7 Implemented __p__pgmptr, _pgmptr. 2003-03-15 19:38:39 +00:00
Dmitry Timoshkov ad068bc0c2 Move vsnwprintf implementation to libwine_unicode, export snprintfW
and vsnprintfW from there, forward MSVCRT and NTDLL functions to
libwine_unicode.
2003-03-12 22:30:16 +00:00
Thomas Mertes 657ca8a873 Forward to the ntdll functions _itoa, _ltoa, _ultoa, _i64toa,
_ui64toa, _itow, _ltow, _ultow, _i64tow, _ui64tow, _atoi64, _wtoi,
_wtol, _wtoi64 from msvcrt / msvcrt20.
2003-03-12 20:17:03 +00:00
Marcus Meissner dbcbbe0211 Added _daylight stub int, and __p__daylight function. 2003-03-04 02:19:15 +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