Commit Graph

602 Commits

Author SHA1 Message Date
Louis. Lenders 6d4a811cd5 msvcrt: Fix a crash in _strdup. 2006-06-21 13:53:59 +02:00
Andrew Ziem 2132eb5490 msvcrt: Fix _initterm, with tests. 2006-06-21 13:40:33 +02:00
Jeremy White a73d568ece msvcrt: Solaris asctime_r compilation fix. 2006-06-19 22:42:05 +02:00
Alexandre Julliard db78a84d47 msvcrt: Use unsigned int instead of size_t to avoid printf format warnings. 2006-06-13 14:14:06 +02:00
Alexandre Julliard 24beabfd4e msvcrt: Explicitly specify CDECL calling convention on exported functions. 2006-06-13 11:40:23 +02:00
Dmitry Timoshkov a87a153587 msvcrt: Print exception code in hex. 2006-06-12 13:21:47 +02:00
Andrew Talbot 034fc473ec msvcrt: Write-strings warning fix. 2006-06-07 15:24:18 +02:00
Andrew Talbot 5ebf4f5b4e msvcrt: Write-strings warnings fix. 2006-06-06 11:29:41 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Peter Beutner bc83ae9fda msvcrt: Fix handling of 'h' prefix in swprintf.
- '%hs' in widechar string functions is wrongly recognized as
  a widechar string. Fix this by always checking the prefix first.
- add testcase
- remove code duplication in %c/%s handling by moving code into a function.
2006-05-16 20:21:44 +02:00
Vitaliy Margolen 99cfc8bdf8 msvcrt: Fix times tests to pass on windows.
Add more tests for daylight-time savings.
2006-05-15 14:25:52 +02:00
qingdoa daoo 4f7adfb04a msvcrt: Don't duplicate handle in _get_osfhandle. 2006-05-08 17:40:09 +02:00
qingdoa daoo 750102d1a3 msvcrt: If caller passes a NULL deallocator to __unDNameEx, don't use it. 2006-04-13 11:23:13 +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
qingdoa daoo 508c6e6cf4 msvcrt: Append extension(.exe) for _spawnve argument. 2006-04-06 12:05:54 +02:00
qingdoa daoo 330978ec9b msvcrt: Fix a TRACE message to avoid buffer overflow. 2006-04-05 10:58:41 +02:00
qingdoa daoo 35a9398ffe msvcrt: Allow environment strings longer than 512 characters. 2006-04-03 11:39:56 +02:00
Rein Klazes ef9038c761 msvcrt: Fix read beyond end of string in __unDNameEx(). 2006-03-30 21:54:45 +02:00
H. Verbeet 8c29b7dc8b msvcrt: Fix reading of signed numbers with unsigned read types in scanf. 2006-03-27 11:30:50 +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
Alexandre Julliard 7fe881c7f2 msvcrt: Implementation of wcsftime (based on a patch by Mike McCormack). 2006-03-23 20:35:52 +01:00
Eric Pouech f7441f9e1a msvcrt: Some more fixes to name demangling. 2006-03-06 11:37:14 +01:00
Mike McCormack d16c72dea5 msvcrt: Add a stub for _wsetlocale. 2006-02-28 12:02:13 +01:00
Francois Gouget e092adfc9b Add trailing '\n's to ok() calls. 2006-02-24 21:07:33 +01:00
Peter Beutner 82818284c3 msvcrt: Save esp before calling catch block and restore afterwards.
It seems like the esp value (which is saved at [ebp-16]) is sometimes
changed inside the catch handler so we end up with a bogus esp
afterwards.  To avoid that save it before calling the catch block.
2006-02-22 12:21:00 +01:00
Peter Beutner be07b6db59 msvcrt: Fix handling of multiple nested exceptions.
Save in each nested frame a pointer to the original exception record.
Only one refence in thread_data isn't enough when we have multiple
nested frames.
2006-02-22 12:06:56 +01:00
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