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