Commit Graph

596 Commits

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