Commit Graph

475 Commits

Author SHA1 Message Date
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