Commit Graph

552 Commits

Author SHA1 Message Date
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
Rein Klazes b6d331d680 Fix decoding printf format in case the field width specifier is a '*'. 2005-04-14 11:32:53 +00:00
Hans Leidekker a19bf290f0 Implement and test _chsize. 2005-03-31 19:06:10 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
C. Scott Ananian 9ef2706a77 Allow scanf to continue parsing format string after a '%n'. 2005-03-10 11:44:19 +00:00
Jason Edmeades 9b527d4953 Make msvcrt printf use the internal routines which understand %S and
%C.
2005-03-07 11:00:46 +00:00
Mike McCormack 5def7dd337 Handle %ls in sprintf. 2005-03-05 10:46:46 +00:00
Mike McCormack 5b4327515e Handle the printf %F format modifier. 2005-03-04 10:47:27 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Uwe Bonnes 0fb9ef68f3 Advance over * argument for precision.
Honor precision argument for strings.
2005-02-25 19:16:46 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Gunnar Dalsnes 1b7e736334 When getting current directory on a drive different from the working
drive, _getdcwd incorrectly passed "X:\" (X = any drive) as path to
GetFullPathName. "X:" (without the backslash) is the correct thing to
use.
2005-02-18 12:51:00 +00:00
Francois Gouget dd073bbb3f Cast the GetProcAddress() return value to avoid warnings about the
function pointer being of the wrong type.
Fix assorted signed/unsigned comparison warnings.
2005-02-14 21:04:45 +00:00
Mike McCormack 2cc5f1e469 Add handling of %ws, %S and %C to _vns(w)printf, improve sprintf
tests.
2005-02-14 20:53:42 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Francois Gouget 168265ebb0 Fix handling of EOF for the '%c' and '%C' cases in scanf().
Add conformance tests to verify the behavior of '%c'.
Improve some of the test's error messages.
2005-01-28 11:27:26 +00:00
Bill Medland 1953a1ed2d Only report the unsupported flags.
Keep quiet about hints.
2005-01-10 14:28:21 +00:00
Lionel Ulmer cc89feb9c4 fpos_t should be 64 bits (verified with native MSVCRT.DLL) 2005-01-04 20:38:14 +00:00
Lionel Ulmer 66725349d5 Handle buffering in fgetpos / fsetpos. 2005-01-04 20:37:54 +00:00
Eric Pouech 89f5283432 Some missing const correctness fixes. 2005-01-03 14:50:12 +00:00
Rein Klazes 3714a39867 Correct cases where arguments of ok() calls depend on the order in
which they are evaluated.
2004-12-27 17:26:37 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Juan Lang 7b44be79df Implement _popen and _pclose, and use debugstr_a to avoid a crash
tracing long command lines.
2004-12-14 15:13:54 +00:00
Juan Lang 8c0ccdcb68 Use debugstr_a to avoid crash tracing long command line. 2004-12-14 15:13:05 +00:00
Juan Lang 9b6c0eff37 - make file functions (mostly) thread-safe
- update a couple traces
2004-12-14 11:59:43 +00:00
Francois Gouget eb3f078c75 Add trailing '\n's to ok() calls. 2004-12-14 11:41:24 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Rein Klazes 03d9cf286e - implement __pioinfo, __badioinfo and _adjust_fdiv
- remove all stubs of data item from the spec file, those actually may
  hide problems.
2004-12-10 15:28:25 +00:00
Juan Lang 1e23777ae5 - implement _dup, _dup2, and _pipe
- make max file descriptors 2048 to match MS
- increase max file streams to match
2004-12-09 16:51:26 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Juan Lang b100339e2f Flush file in fputc when character is '\n'. 2004-12-07 17:05:08 +00:00
Juan Lang 4120647ae7 Set st_mode bits in _fstati64. 2004-12-06 16:14:09 +00:00
Juan Lang e3060b4d98 msvcrt_spawn should free STARTUPINFOA's lpReserved2, not its address. 2004-12-06 16:08:36 +00:00
Peter Chapman 505dfdefb5 Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Eric Pouech d3b39fe3f2 Fixed file name when opening NUL. 2004-11-28 15:01:50 +00:00
Bill Medland 2ea15a5673 Don't mess up the msvcrt codepage on e.g. _MB_CP_ANSI. 2004-11-21 15:42:03 +00:00
Eric Pouech a2d24c8a4a Now that name undecoration works, fix the type info. 2004-11-08 22:11:05 +00:00
Eric Pouech 98f94544ac Implemented __unDName and __unDNameEx functions. 2004-11-08 22:10:43 +00:00
Rein Klazes dceae02d73 - RtlTimeFieldsToTime should not normalize the time fields
structure. Instead return error when it is given an unormalized
  date.
- Use better algorithms for RtlTimeToTimeFields and
  RtlTimeFieldsToTime. RtlTimeToTimeFields is about 3 times faster.
- Add tests for RtlTimeFieldsToTime.
- SystemTimeToFileTime must fail if RtlTimeFieldsToTime fails. Users
  of SystemTimeToFileTime must do likewise.
- Remove a todo_wine from SystemTimeToFileTime tests.
- Since msvcrt.mktime must accept unnormalized dates, it cannot use
  SystemTimeToFileTime and do the calculations itself.
- Add some tests for mktime accepting unnormalized dates.
2004-11-06 03:53:53 +00:00
Aneurin Price 97cc28ff0f - Move printf tests from scanf.c to printf.c (and fix one on the
way).
- Add some more.
2004-11-04 21:03:30 +00:00
Tony Lambregts 2dec525020 Fix up init_fp test for freopen. 2004-11-03 22:17:05 +00:00
Rein Klazes 2fc0f991d8 In MSVCRT_localtime() return tm_isdst = 0 when there are no daylight
time changes in the local time zone.
2004-10-27 21:17:44 +00:00
Rein Klazes 4ca34c4b2f Correctly use the returned value from GetTimeZoneInformation. 2004-10-25 21:48:57 +00:00