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