Commit Graph

235 Commits

Author SHA1 Message Date
Piotr Caban f9de4eef75 msvcrt: Fix mingw compilation issues. 2011-06-03 17:44:06 +02:00
Piotr Caban 27ff2ae967 msvcrt: Improved locale initialization. 2011-05-26 13:38:22 +02:00
Piotr Caban 197826b12d msvcr90/tests: Added _getptd tests. 2011-05-25 11:48:02 +02:00
Piotr Caban abb3db5c57 msvcrt: Improved tmpnam/wtmpnam implementation. 2011-05-25 11:46:29 +02:00
Piotr Caban 12229aeeb2 msvcrt: Change the way how localtime/gmtime buffer is stored in __thread_data. 2011-05-25 11:46:16 +02:00
Piotr Caban e15ac98cbc msvcrt: Change the way locale information is stored in __thread_data. 2011-05-25 11:46:07 +02:00
Piotr Caban 6991ac0331 msvcrt: Use get_locinfo instead of get_locale. 2011-05-25 11:45:42 +02:00
Piotr Caban 11bfced55d msvcrt: Use _create_locale instead of setlocale during initialization. 2011-05-25 11:45:14 +02:00
Piotr Caban 093909cf88 msvcrt: Reorder fields of __thread_data structure. 2011-05-25 11:44:51 +02:00
Piotr Caban 2bcc9d452a msvcrt: Close thread handle when _beginthread is used. 2011-05-25 11:44:28 +02:00
Piotr Caban 38f476399c msvcrt: Fix __pctype_func implementation. 2011-05-20 12:36:24 +02:00
Piotr Caban 73b9acf273 msvcrt: Make scanf functions thread safe. 2011-05-19 19:37:26 +02:00
Piotr Caban 504231ff5a msvcrt: Added _strlwr_s_l implementation. 2011-05-12 14:27:08 +02:00
Piotr Caban 64cf208040 msvcrt: Don't pass NULL as __ms_va_list in printf implementation. 2011-05-11 17:49:16 +02:00
Francois Gouget ca268b199a msvcrt: Make printf_arg arg_clbk_positional() and MSVCRT_wcsrtombs_s_l() static. 2011-05-03 14:38:06 +02:00
Piotr Caban 168909283c msvcrt: Added wcsrtombs implementation. 2011-04-28 11:07:46 +02:00
Piotr Caban 00182ca6d9 msvcrt: Added sprintf_p_l implementation. 2011-04-27 13:18:59 +02:00
Piotr Caban c09f9ef498 msvcrt: Removed pf_vnsprintf internal function. 2011-04-25 14:36:42 +02:00
Piotr Caban 7303b8c4db msvcrt: Use callback based printf in cprintf functions family. 2011-04-25 14:36:26 +02:00
Piotr Caban 056dfb26ce msvcrt: Copy and reorganize printf implementation. 2011-04-25 14:36:19 +02:00
Piotr Caban 220b6ab37f msvcrt: Added _wassert implementation. 2011-04-05 17:38:09 +02:00
Hans Leidekker b25e0068ac msvcrt: Implement _set_security_error_handler. 2011-03-16 16:31:55 +01:00
Nikolay Sivov 0512829a27 msvcrt: Add _get_output_format() and return default value. 2011-03-09 12:30:30 +01:00
Jörg Höhle c6d67fad8f msvcrt: sizeof(long double) is 12 with MS, but not necessarily so on UNIX. 2011-02-17 18:33:43 +01:00
Alexandre Julliard 37af4c371b msvcrt: Implement longjmp for x86_64. 2011-02-01 18:14:09 +01:00
Detlef Riekenberg 58786dc8ea msvcrt: Add private define and header tests for _set_error_mode options. 2011-01-28 17:41:51 +01:00
Alexandre Julliard a8d8e4a367 msvcrt: Implemented __control87_2. 2011-01-26 14:57:15 +01:00
Nikolay Sivov 03ca06e791 msvcrt: Partially implement _set_abort_behavior. 2011-01-20 12:54:50 +01:00
Nikolay Sivov ad6bc94491 msvcrt: Add _atoflt and _atoflt_l implementations. 2011-01-19 12:22:27 +01:00
Alexandre Julliard 1ae23af85b include/msvcrt: Define more CPU control word flags. 2010-11-26 14:58:39 +01:00
Eric Pouech 7d384d23f8 msvcrt: For internal msvcrt use, added ability to grow automatically the size of the buffer in printf core engine. 2010-11-08 18:12:57 +01:00
Eric Pouech 71200a9818 msvcrt: Implemented (_)wcserror. 2010-11-03 11:08:56 +01:00
Eric Pouech fd3ad8cd2a msvcrt: Added macro to ease implementation of so called secure (_s postfix) APIs. 2010-11-01 12:31:19 +01:00
Damjan Jovanovic c7536ef868 msvcrt: Define STRUNCATE. 2010-10-19 10:15:35 +02:00
Andrew Nguyen e245cb52c6 msvcrt: Implement _localtime64_s. 2010-10-11 17:11:37 +02:00
Piotr Caban 899d9a042b msvcrt: Added _splitpath_s implementation. 2010-08-30 11:26:30 +02:00
Piotr Caban 3a25d7d9aa msvcrt: Added _gcvt_s implementation. 2010-08-27 12:06:43 +02:00
Piotr Caban 898e17f2af msvcrt: Added _set_purecall_handler implementation. 2010-08-25 17:37:48 +02:00
Alexander Scott-Johns 2663079c60 msvcrt: Rename _TRUNCATE to MSVCRT__TRUNCATE. 2010-06-07 13:51:34 +02:00
Piotr Caban 4134c57a91 msvcrt: Fix compilation error (x86_64-pc-mingw32). 2010-05-20 13:47:52 +02:00
Piotr Caban 117faee955 msvcrt: Fix strtod and wcstod implementation. 2010-05-10 10:08:57 +02:00
Piotr Caban 743e6ba688 msvcrt: Added _vsnwprintf* implementation. 2010-04-19 15:10:44 +02:00
Piotr Caban 85fa2ee53c msvcrt: Added _vsnprintf* implementation. 2010-04-19 15:10:26 +02:00
Piotr Caban 20b77f4428 msvcrt: Added _configthreadlocale implementation. 2010-04-15 16:51:45 +02:00
Piotr Caban 59c2201a9c msvcrt: Add helper function that returns current locale. 2010-04-15 16:51:45 +02:00
Piotr Caban d58b385b38 msvcrt: Change implementation of setlocale. 2010-04-15 16:51:45 +02:00
Alexandre Julliard 4f3b7f8445 msvcrt: Implement _invalid_parameter and fix the handler definitions. 2010-04-14 18:00:46 +02:00
Piotr Caban 7a1ff50ddc msvcrt: Added implemenatation of _create_locale and _free_locale. 2010-04-08 12:38:49 +02:00
Piotr Caban 585ea9cdd8 msvcrt: Added _strtoi64 implementation. 2010-03-29 15:50:20 +02:00
Piotr Caban b90320652d msvcrt: Rename functions conflicting with mingw headers. 2010-03-29 15:50:19 +02:00
Piotr Caban 254eab3827 msvcr90: Added _get/set_invalid_parameter_handler implementation. 2010-03-25 16:46:56 +01:00
Alexandre Julliard 7f69436ea8 include: Specify explicit alignment for __int64 types. 2009-11-21 14:31:45 +01:00
Alexandre Julliard 7c15ae127c msvcrt: Add an MSVCRT prefix to _wenviron. 2009-10-05 14:55:09 +02:00
Eric Pouech 9eca2f81dc msvcrt: Correctly handle the error cases in strtol and strtoul. 2009-09-01 12:43:24 +02:00
Alexandre Julliard 82f175e9b5 msvcrt: Replace long by MSVCRT_long. 2009-05-23 11:57:39 +02:00
Alexandre Julliard ac760a47f3 msvcrt: Fix the stat and finddata structures for 64-bit. 2009-05-23 11:57:12 +02:00
Alexandre Julliard 4a7b3460ef msvcrt: Add explicit 32- and 64-bit versions of the utime functions. 2009-05-23 11:12:17 +02:00
Alexandre Julliard 8408e3a955 msvcrt: Add explicit 32- and 64-bit versions of the time functions. 2009-05-23 11:12:12 +02:00
Alexandre Julliard f1b363e27d msvcrt: Fix the time_t definition for the msvcrt build. 2009-01-05 15:07:53 +01:00
Alexandre Julliard 558732ef09 msvcrt: Add missing __cdecl on some function pointers. 2009-01-03 18:43:00 +01:00
Alexandre Julliard 07ca8f4f8f msvcrt: Convert all the printf functions to use MS ABI varargs. 2009-01-03 11:38:25 +01:00
Alexandre Julliard 8a658d7d51 msvcrt: Rename _ftime to avoid conflicts. 2008-12-15 20:08:33 +01:00
Alexandre Julliard b19913ac70 msvcrt: Add a few more *_func functions to replace the __p_* ones. 2008-12-15 16:03:32 +01:00
Alexandre Julliard 4305e6d119 msvcrt: Use iob_func instead of p__iob on non-x86. 2008-12-12 10:19:55 +01:00
Alexandre Julliard d8ab5a14aa msvcrt: Use intptr_t or size_t instead of long where appropriate. 2008-12-12 10:19:55 +01:00
Alexandre Julliard 7a6c6747a9 msvcrt: Don't include msvcrt headers, instead duplicate the definitions in msvcrt.h. 2008-12-12 10:19:55 +01:00
Maarten Lankhorst 83045e5cc8 msvcrt: Add CDECL to all cdecl functions. 2008-11-25 12:33:39 +01:00
Eric Pouech 3a2dda11e9 msvcrt: Implemented splitpath_s. 2008-10-07 15:24:00 +02:00
Hans Leidekker 41575621c8 msvcrt: Correct search strategy for the exec/spawn functions. 2008-01-08 13:40:35 +01:00
Hans Leidekker 8d768b7713 msvcrt: Implement _wexecv{, e, p, pe}. 2008-01-08 13:39:14 +01:00
Hans Leidekker 118bee860a msvcrt: Implement _wpopen and forward _popen to it. 2008-01-08 13:34:37 +01:00
Hans Leidekker 3debf28215 msvcrt: Implement _wsystem and forward system to it. Respect COMSPEC environment variable. 2008-01-08 13:34:09 +01:00
Dmitry Timoshkov a88f03e22f msvcrt: Rename _environ to avoid a conflict on Solaris. 2008-01-08 12:54:40 +01:00
Hans Leidekker 1efae756c3 msvcrt: Implement _wspawnv{, e, p, pe}. 2007-09-24 14:38:53 +02:00
Hans Leidekker 7d3d98eb5c msvcrt: Implement _wsearchenv. 2007-09-24 14:37:39 +02:00
Tijl Coosemans 6bbd3cacb8 msvcrt: Resolve symbols clashes with FreeBSD libc. 2007-09-19 15:01:33 +02:00
Francois Gouget dd3e2be810 msvcrt: Add a prototype for _atoldbl() & co and declare _LDOUBLE & co in stdlib.h. 2007-08-30 17:02:48 +02:00
Alexandre Julliard 1f5a4a8046 msvcrt: Get rid of the now unused strndup/wstrndup functions. 2007-07-27 12:18:44 +02:00
Damjan Jovanovic cbb6da2d70 msvcrt: Added declarations for functions and structures related to stat64. 2007-02-14 12:30:58 +01:00
Eric Pouech f415b5ddeb msvcrt: Use raise(SIGABRT) for abort() and assert(). 2007-02-09 11:50:37 +01:00
Damjan Jovanovic 65d9723dc4 msvcrt: Align struct _stati64's st_size on an 8 byte boundary. 2007-02-06 13:28:36 +01:00
Alexandre Julliard 6f9ad1b981 msvcrt: Export various locale and codepage variables. 2007-01-16 12:08:59 +01:00
Louis Lenders 6c04a187d2 msvcrt: Add _atoldbl. 2006-12-19 16:18:01 +01:00
Alexandre Julliard 429cd9e817 msvcrt: Avoid including system headers in msvcrt.h. 2006-07-10 11:54:10 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02: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 4755f8acec msvcrt: Added EILSEQ definition. 2006-01-23 19:29:36 +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
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
Eric Pouech 681b71ed9a Functions with no paramters must be (void). 2005-12-12 12:42:44 +01:00
Alexandre Julliard c1ed640224 Prefix signal definitions with MSVCRT_ to avoid conflicts with system
headers.
2005-12-01 12:48:44 +01:00
Kevin Koltzau 935dea2fb4 Fix warnings and errors in 64bit. 2005-11-03 13:17:51 +00:00
Mike McCormack 6dc69f5f54 Fix gcc 4.0 warnings. 2005-09-02 12:26:21 +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
Jason Edmeades 9b527d4953 Make msvcrt printf use the internal routines which understand %S and
%C.
2005-03-07 11:00:46 +00:00
Lionel Ulmer cc89feb9c4 fpos_t should be 64 bits (verified with native MSVCRT.DLL) 2005-01-04 20:38:14 +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
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Rein Klazes dc78e9a595 - mktime should compute the tm_wday, tm_yday and renormalize the
other fields of the supplied tm structure.
- add prototype declarations for the time functions.
2004-10-21 19:56:46 +00:00
Hans Leidekker 9ec800fd6d Prefix _fsopen with MSVCRT_ to avoid collision with MinGW header.
Typo fix.
2004-10-14 00:26:39 +00:00
Uwe Bonnes 46e922bba5 Added MSVCRT_CLOCKS_PER_SEC define. 2004-09-08 19:05:28 +00:00
Eric Pouech 0bfb1cbc6b - msvcrt: the file descriptors are now inherited between parent/child
processes
- kernel32.CreateProcess: make use of the *reserved2 fields for
  C-RunTime data inheritance
2004-09-03 01:05:30 +00:00
Pierre d'Herbemont 30d5ce7ffb Define MSVCRT_div_t and MSVCRT_ldiv_t. 2004-07-06 18:45:02 +00:00
Dimitrie O. Paun 0377462460 Split the MSVCRT implementation headers from the public headers.
Fix some naming conventions aberrations.
Add tests to ensure consistency between the two sets of symbols.
2004-06-25 01:19:15 +00:00
Hans Leidekker 821f4775a3 - Prefix many more functions, types, structs, etc. with MSVCRT_.
- Correct prototypes for _memccpy()/_memicmp().
- "define before use" reordering in file.c.
- Use the new math.h/float.h.
2004-03-16 19:17:11 +00:00
Rein Klazes 950da26b98 Two "unknown" parameters of _unDName() turn out to be the output
string and it length. If possible, use these instead of allocating a
new one. Put the code in _unDNameEx() and call that from _unDName().
2004-01-13 22:56:59 +00:00
Alexandre Julliard dec198afe0 Implemented the remaining 64-bit file functions, and added a few other
functions and exported variables.
Removed the almost empty lconv.c file.
2004-01-13 05:45:05 +00:00
Alexandre Julliard cf4e5d4eea Added an assembly wrapper to retrieve the this pointer from %ecx for
_thiscall functions.
Fixed some bugs, and added a few missing functions.
2003-06-17 03:59:24 +00:00
Alexandre Julliard 9612383678 Moved [efg]cvt functions to msvcrt and fixed them to use a per-thread
buffer.
2003-03-20 23:47:25 +00:00
Jon Griffiths 9c2c288139 Move a couple of shared definitions into msvcrt.h.
init_vtables() is redundant with upcoming fixes to cxx functions.
2003-03-17 21:21:59 +00:00
Alexandre Julliard bb2210bc45 Store mbstok() next pointer in the per-thread data. 2003-02-01 00:59:22 +00:00
Alexandre Julliard 5f31b32946 Use MSVCRT_wchar_t instead of WCHAR so that the implementation matches
the prototypes.
2002-12-19 04:21:30 +00:00
Alexandre Julliard 5ad69f19bf Added support for nested exceptions happening inside a catch block. 2002-10-31 02:10:15 +00:00
Uwe Bonnes 2f61c4a1b3 Take a snapshot of the environment strings when building the
__p__environ array and update the array on calls to _putenv.
2002-07-23 20:59:12 +00:00
Alexandre Julliard 14b75f9878 Added definition of msvcrt internal error codes. 2002-07-20 20:30:57 +00:00
Alexandre Julliard 44b4235af2 Fixed per-thread data handling.
Made terminate and unexpected function pointer per-thread.
Added set_se_translator.
2002-07-19 03:24:50 +00:00
Alexandre Julliard af0d206752 Flush stdio on exit. 2002-07-05 21:23:07 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Peter Hunnisett d1a79ea2eb Add _lock,_unlock and header file for them.
Convert all msvcrt locks over to use _lock and _unlock.
Explicitly make msvcrt compile with multithreaded option.
Fix flag handling in _sopen. Add W->A call for new _swopen.
2002-02-21 20:22:00 +00:00
Alexandre Julliard bd1689ec0a Don't include debugtools.h in the header file, moved it to the C files
that need it (and used the new wine/debug.h while we are at it).
2002-01-22 00:57:16 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Patrik Stridvall 4b1574577d - Made sure that the files that contains the declarations
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-23 23:50:18 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Francois Gouget e7f75c5dfb Include the msvcrt headers, remove duplicate definitions.
Fixed the signature of a few functions.
Don't use wcs* functions, use *W (from unicode.h) instead.
2001-04-10 23:25:25 +00:00
Francois Gouget 203a8f8290 Adjust the 'MSVCRT_' prefix to match the msvcrt headers
Prefix internal methods with 'msvcrt_' instead of 'MSVCRT_', '__MSVCRT_', etc.
Remove '_cdecl', it's unnecessary
2001-04-10 21:16:07 +00:00
Alexandre Julliard 3fe81b46d3 __getmainargs last argument is a pointer to new_mode. 2001-02-21 02:20:08 +00:00
Jon Griffiths 4ab1558d8a - Remove <string.h> from winnt.h.
- ntdll: complete crt functions, prevent libc imports, fix sscanf.
2001-01-22 02:17:29 +00:00
Jon Griffiths 1db20bfd33 - Migrate CRTDLL to MSVCRT.
- Many fixes and a load of new functions.
2001-01-10 23:59:25 +00:00