Commit Graph

1842 Commits

Author SHA1 Message Date
Yifu Wang a11c8758b2 msvcr120: Fixed bugs in Concurrency::critical_section. 2015-02-13 18:51:21 +09:00
Orion Poplawski 8bf1732962 msvcrt: Bump MSVCRT_MB_LEN_MAX to 5 and use it in MSVCRT__wctomb_l for default buffer lengthSet MB_LEN_MAX to 5 to match MSVCRT_MB_LEN_MAX. 2015-02-03 14:38:40 +09:00
Piotr Caban ccaf87b2ea msvcrt: Add _iswpunct_l implementation. 2015-01-26 11:23:12 +01:00
Piotr Caban ef69ad9f97 msvcrt: Add _iswspace_l implementation. 2015-01-26 11:23:08 +01:00
Piotr Caban 90b68f9964 msvcrt: Reset write direction after flush on read/write stream. 2015-01-26 11:22:58 +01:00
Piotr Caban 7880525f44 msvcrt: Handle read buffer flushing in msvcrt_flush_buffer helper. 2015-01-26 11:22:54 +01:00
Charles Davis 7ef720f184 msvcrt: Support 64-bit platforms that don't have finitef or isnanf. 2015-01-23 11:58:14 +01:00
Piotr Caban ba0d1586ff msvcrt: Drop read buffer in _flsbuf. 2015-01-21 18:08:11 +01:00
Piotr Caban bd1428ef50 msvcrt: Add _vscprintf_p implementation. 2015-01-20 16:08:49 +01:00
Hugh McMaster d999fd0d11 msvcrt/tests: Add more tests for _vsnwprintf. 2015-01-07 23:48:26 +01:00
Piotr Caban 1109672f13 msvcr120: Add _fdtest function implementation. 2015-01-07 23:48:21 +01:00
Piotr Caban 3af24fe1f4 msvcrt: Add _wcsset_s implementation. 2014-12-23 18:59:36 +01:00
Hugh McMaster 828a46898d msvcrt: Fix a spelling error. 2014-12-22 13:37:15 +01:00
Martin Storsjo 5f395ee8e6 msvcr120: Implement the _dclass/_fdclass/_ldclass functions. 2014-12-09 18:48:49 +01:00
Martin Storsjo 547ba7a10b msvcr120: Implement more C99 math functions. 2014-12-08 17:25:26 +01:00
Martin Storsjo 589f58d806 msvcr120: Implement the _vacopy function. 2014-12-08 17:08:51 +01:00
Piotr Caban 6c2d4f1092 msvcrt: Use fd critical section in _fstat64. 2014-12-05 20:48:02 +01:00
Piotr Caban f2f45d5fe6 msvcrt: Use fd critical section in _chsize_s. 2014-12-05 20:48:01 +01:00
Piotr Caban fa6de59770 msvcrt: Use fd critical section in _lseeki64. 2014-12-05 20:47:59 +01:00
Piotr Caban ffdd16cc0d msvcrt: Use fd critical section in _locking. 2014-12-05 20:47:57 +01:00
Piotr Caban 9a4cfbc3ed msvcrt: Use fd critical section in _eof. 2014-12-05 20:47:55 +01:00
Piotr Caban a4fcba60b9 msvcrt: Call CreateProcess with CREATE_UNICODE_ENVIRONMENT flag in exec functions family.
Based on a patch by Ron Yorston.
2014-12-04 14:03:34 +01:00
Yifu Wang 08d0508993 msvcr120: Added wchar_t* fields to struct MSVCRT_lconv. 2014-12-03 21:34:27 +01:00
Iván Matellanes 17fcef507f msvcrt: Call the _nolock variant when the file is already locked. 2014-12-01 11:11:16 +01:00
Michael Stefaniuc 42e6019c00 msvcrt/tests: Don't open code offsetof(). 2014-11-27 11:43:41 +01:00
Piotr Caban afc6962a24 msvcrt: Use fd critical section in _close. 2014-11-11 23:55:52 +09:00
Piotr Caban 4508e665c0 msvcrt: Use fd critical section in _commit. 2014-11-11 23:55:49 +09:00
Piotr Caban 1d791f5db2 msvcrt: Rename msvcrt_get_ioinfo function. 2014-11-11 23:55:43 +09:00
Piotr Caban 0c4cb6ce5d msvcrt: Initialize file descriptor critical section. 2014-11-11 23:55:34 +09:00
Iván Matellanes bcbd83d154 msvcrt: Added _fread_nolock_s implementation. 2014-11-10 19:25:15 +09:00
Iván Matellanes 4f807d9ae9 msvcrt: Added _ungetwc_nolock implementation. 2014-11-05 13:15:44 +09:00
Iván Matellanes 6f24dd9677 msvcrt: Added _ungetc_nolock implementation. 2014-11-05 13:15:20 +09:00
Iván Matellanes b536ff62ef msvcrt: Added _fputwc_nolock implementation. 2014-11-05 13:14:35 +09:00
Iván Matellanes 975a95a25b msvcrt: Added _fputc_nolock implementation. 2014-11-05 13:14:03 +09:00
Iván Matellanes 89d91168a0 msvcrt: Use correct type for fread and fwrite return values. 2014-11-04 13:31:33 +09:00
Iván Matellanes 20e0a6f20d msvcrt: Avoid locking the file in _fclose_nolock. 2014-11-04 13:31:29 +09:00
Iván Matellanes 156684ba91 msvcrt: Added _fgetwc_nolock implementation. 2014-10-31 15:35:36 +09:00
Iván Matellanes 878b4a9280 msvcrt: Added _fgetc_nolock implementation. 2014-10-31 15:35:24 +09:00
Iván Matellanes f896cd3dc9 msvcrt: _filbuf should not lock any file. 2014-10-31 15:35:19 +09:00
Hans Leidekker ed79b3f9a5 msvcrt: Implement _snprintf_l. 2014-10-31 10:49:06 +09:00
Vincent Povirk 1860efaa9e msvcrt: Implement _wcsnicmp_l. 2014-10-29 20:31:04 +09:00
Vincent Povirk 5ba68bb966 msvcrt: Implement _strtoul_l. 2014-10-29 20:31:03 +09:00
Iván Matellanes 4bb80afedc msvcrt: Added _fflush_nolock implementation.
Thanks to Piotr Caban for the test.
2014-10-27 19:03:57 +09:00
Iván Matellanes c53e0384a5 msvcrt: Added _fseek_nolock implementation. 2014-10-16 13:02:24 +09:00
Iván Matellanes 5077d8c137 msvcrt: Added _fseeki64_nolock implementation. 2014-10-16 13:02:16 +09:00
Iván Matellanes 50574ccffa msvcrt: Added _ftell_nolock implementation. 2014-10-16 13:02:08 +09:00
Iván Matellanes 7cf0c877b3 msvcrt: Added _ftelli64_nolock implementation. 2014-10-16 13:01:59 +09:00
Iván Matellanes 25d7a1bbbf msvcrt: Added _fwrite_nolock() implementation. 2014-10-13 18:09:06 +09:00
Iván Matellanes 206ea48f20 msvcrt: Added _fread_nolock() implementation. 2014-10-13 18:08:54 +09:00
Iván Matellanes 9fda14a9d6 msvcrt: Added _fclose_nolock() implementation. 2014-10-08 14:47:46 +02:00
Francois Gouget f63fd82610 msvcrt: Prefix _set_output_format() with MSVCRT_ to avoid a collision with MinGW. 2014-09-15 10:12:24 +02:00
Nikolay Sivov 1228f0bba5 msvcrt: Added __dstbias() export. 2014-09-10 21:36:52 +02:00
Piotr Caban 7cf23a7957 msvcrt: Fix _stricmp behavior on characters that doesn't fit into signed char. 2014-09-03 16:31:01 +02:00
Piotr Caban 43be238331 msvcr80: Throw bad_alloc exception when operator new fails. 2014-09-02 20:54:47 +02:00
Piotr Caban 53869e19eb msvcrt: Add _strnset_s implementation. 2014-09-02 15:07:27 +02:00
Nikolay Sivov 60de49770c msvcrt: Implement llabs(). 2014-08-29 20:38:42 +02:00
Piotr Caban d3a48ee342 msvcrt: Only check for flag presence in isatty function. 2014-08-04 16:18:10 +02:00
Piotr Caban a566569305 msvcrt: Always set fd to -1 in _sopen_s on failure. 2014-07-10 15:23:02 +02:00
Piotr Caban 0350b6c7fd msvcrt: Fix buffer allocation in setvbuf. 2014-06-30 22:04:52 +02:00
Frédéric Delanoy b9e306ee78 msvcrt: Avoid potential integer overflow when computing median position in bsearch. 2014-06-30 22:04:52 +02:00
Piotr Caban 60eb44d820 msvcrt: Don't touch _bufsiz value while initializing FILE structure. 2014-06-27 10:37:54 +02:00
Piotr Caban fffbc8e570 msvcrt: Use file->_flag to check if file buffering is enabled. 2014-06-27 10:37:51 +02:00
Piotr Caban 18a416f7d5 msvcrt: Support NULL buffer in setvbuf. 2014-06-26 19:00:41 +02:00
Piotr Caban 1ae475dae8 msvcrt: Fix ungetc on files with empty buffer. 2014-06-26 19:00:41 +02:00
Piotr Caban f91f24f6e7 msvcrt: Fix _flsbuf behavior on streams with MSVCRT__IONBF flag. 2014-06-26 19:00:40 +02:00
Piotr Caban 8715d89c49 msvcr110: Add __crtInitializeCriticalSectionEx implementation. 2014-06-26 19:00:38 +02:00
Piotr Caban 3fa2bb2dce msvcp110: Add _Mtx_{destroy,getconcrtcs,init,lock,unlock,trylock} implementation. 2014-06-26 19:00:36 +02:00
Grazvydas Ignotas ad968be779 msvcrt: Implement bufsiz block flushing behavior. 2014-06-25 11:48:13 +02:00
Grazvydas Ignotas c6a160691a msvcrt: Clear _cnt on buffer flush. 2014-06-25 11:47:30 +02:00
Piotr Caban 5175037b63 msvcr110: Add critical_section::try_lock_for implementation. 2014-06-24 13:31:29 +02:00
Piotr Caban 7f23c57d09 msvcr100: Add critical_section class implementation. 2014-06-24 13:31:28 +02:00
Piotr Caban dab6417923 msvcr100: Add critical_section::scoped_lock implementation. 2014-06-24 13:31:28 +02:00
Piotr Caban 6c35e765c8 msvcr100: Add critical_section class stub. 2014-06-24 13:31:27 +02:00
Thomas Faber 1ab9c79dca msvcrt: Do not omit mandatory argument to VirtualProtect. 2014-06-23 10:17:40 +02:00
Piotr Caban cda83f9c33 msvcr100: Add _SpinWait implementation. 2014-06-23 10:07:01 +02:00
Francois Gouget eb4d39b9ee msvcrt/tests: Add a trailing '\n' to an ok() call. 2014-06-18 19:56:07 +02:00
Grazvydas Ignotas 47909d8d8b msvcrt/tests: Test _cnt value after rewind/fflush. 2014-06-18 19:54:43 +02:00
Piotr Caban ac399b0842 msvcrt: Add small blocks heap tests. 2014-06-18 19:54:33 +02:00
Piotr Caban 608605c7dc msvcrt: Allocate data with 16-bytes alignement if small blocks heap is used. 2014-06-18 19:54:27 +02:00
Alexandre Julliard 762c94144f msvcrt/tests: Avoid size_t in traces. 2014-06-18 19:52:38 +02:00
Piotr Caban 8436b58ee7 msvcrt: Use size_t to store indexes in qsort.
It also avoids potential overflow while computing median
position (found by Frédéric Delanoy).
2014-06-17 13:03:13 +02:00
Grazvydas Ignotas 40067dd011 msvcrt: Change internal buffer size to 4k. 2014-06-17 12:35:48 +02:00
Grazvydas Ignotas 147be95a68 msvcrt/tests: Add a test for fwrite flushing behavior. 2014-06-17 12:35:33 +02:00
Grazvydas Ignotas 9614283996 msvcrt: Free old buffer properly in setvbuf. 2014-06-17 12:35:22 +02:00
Piotr Caban b540277cc7 msvcrt: Add _wcsxfrm_l implementation. 2014-06-12 18:25:27 +02:00
Piotr Caban 00bce25143 msvcrt: Add _strxfrm_l implementation. 2014-06-12 18:25:23 +02:00
Piotr Caban b0424313fd msvcrt: Handle negative file->_cnt value in fwrite. 2014-06-11 19:15:26 +02:00
Piotr Caban 28830b4b36 msvcrt: Return string in _wcslwr and _wcslwr_l. 2014-06-11 13:02:52 +02:00
Piotr Caban 31c76cae7c msvcrt: Add _wcslwr_s_l implementation. 2014-05-24 11:01:28 +09:00
Francois Gouget df5cd21ff6 msvcrt/tests: Make qsort_comp() static. 2014-05-24 11:00:08 +09:00
Piotr Caban e95938c2d6 msvcrt: Add qsort_s tests. 2014-05-21 19:38:34 +02:00
Piotr Caban b703afda86 msvcrt: Rewrite qsort function. 2014-05-21 12:07:41 +02:00
Piotr Caban 153965b627 msvcrt: Fix __libm_sse2_sqrt_precise implementation. 2014-05-19 18:55:53 +02:00
Piotr Caban 9f17544bc9 msvcrt: Add _mbscpy_s implementation. 2014-05-19 13:01:34 +02:00
Piotr Caban aebe1c69f9 msvcrt: Add _mbsnbcpy_s_l implementation. 2014-05-19 13:01:22 +02:00
Piotr Caban c18d52d346 msvcrt: Don't crash on NULL struct _tm in asctime. 2014-05-12 19:30:16 +02:00
Piotr Caban 87bfb306bd msvcr80: Add __AdjustPointer implementation. 2014-05-07 18:57:35 +02:00
Piotr Caban 42e800fe79 msvcrt: Fix ioinfo structure size. 2014-05-07 10:27:46 +02:00
Piotr Caban 868e009e79 msvcrt: Add __ExceptionPtr* functions implementation. 2014-05-06 19:21:21 +02:00
Piotr Caban 1be4654842 msvcr80: Update exceptions RTTI data to reflect it's part of std namespace. 2014-05-06 19:20:48 +02:00
Victor Martinez Calvo f6bb1a51a9 msvcrt: Avoid null dereference in TRACE in MSVCRT__wfreopen. 2014-04-30 18:33:00 +02:00
Piotr Caban 36309142d0 msvcrt: Handle seh exceptions rethrowing in cxx_frame_handler. 2014-04-30 15:15:33 +02:00
Piotr Caban b5b454c504 msvcrt: Handle seh exception rethrowing in catch_function_nested_handler. 2014-04-30 15:15:32 +02:00
Piotr Caban 277eb98739 msvcrt: Add _wcsupr_l implementation. 2014-04-29 16:07:44 +02:00
Piotr Caban d48314c8a5 msvcrt: Don't use default process heap. 2014-04-22 14:46:43 +02:00
Piotr Caban 026ea82a2d msvcr80: Add type_info::name partial implementation. 2014-04-21 16:47:11 +02:00
Piotr Caban 1d865f90d6 msvcrt/tests: Fix _popen test failures when path contains spaces. 2014-04-21 14:33:06 +02:00
Alexandre Julliard 0c496f0280 msvcrt: Update comments for non-exported functions. 2014-04-21 14:32:40 +02:00
Piotr Caban 92e12bb8fb msvcrt: Use win_skip when function is not exported. 2014-04-21 14:31:51 +02:00
Piotr Caban 49e503c55a msvcrt: Remove no longer needed exports. 2014-04-21 14:31:48 +02:00
Piotr Caban f60b888bb2 msvcrt: Remove _set_invalid_parameter_handler calls from msvcrt tests. 2014-04-21 14:31:41 +02:00
Piotr Caban 0cb5067698 msvcrt: Don't raise exception in _invalid_parameter. 2014-04-21 14:31:38 +02:00
Piotr Caban b7c5e341ae msvcr110: Share the source code with msvcrt. 2014-04-17 13:30:47 +02:00
Piotr Caban a6e53eaed2 msvcr90: Share the source code with msvcrt. 2014-04-16 18:05:41 +02:00
Piotr Caban beeea28a53 msvcr100: Move functions implementation to msvcrt. 2014-04-16 18:00:15 +02:00
Piotr Caban e70bf5f8c6 msvcrt: Fix compilation errors on Mingw. 2014-04-16 18:00:01 +02:00
Akihiro Sagawa ab5db46477 msvcrt: Add MBCS handling for _splitpath. 2014-04-14 20:19:01 +02:00
Piotr Caban 9c1d687a7a msvcrt: Remove setlocale test with empty locale string. 2014-03-25 19:05:09 +01:00
Piotr Caban 2693ce1a25 msvcrt: Don't add 0x prefix while printing 0 with printf. 2014-03-20 17:44:05 +01:00
Piotr Caban c4f935d449 msvcrt: Fix p__p___mb_cur_max tests. 2014-03-18 13:26:45 +01:00
Piotr Caban 28cc0b8bc1 msvcrt: Improve toupper_l implementation. 2014-03-13 20:22:12 +01:00
Piotr Caban 13f6194bb1 msvcrt: Improve tolower tests. 2014-03-13 20:22:11 +01:00
Piotr Caban 6a63e0e6bc msvcrt: Improve tolower_l implementation. 2014-03-13 20:22:10 +01:00
Piotr Caban 6ad441cd6b msvcrt: Return error on invalid handle in _open_osfhandle. 2014-02-12 19:15:28 +01:00
Piotr Caban f4985e42b7 msvcrt/tests: Don't pass path containing spaces to _spawnvp. 2014-02-11 20:22:31 +01:00
Piotr Caban 5e3cadf834 msvcrt: Don't close handles returned by GetStdHandle function. 2014-01-28 10:53:21 +01:00
Piotr Caban 6f4a181709 msvcrt: Flush standard streams in flushall function. 2014-01-28 10:53:09 +01:00
Piotr Caban e16059113c msvcrt: Support _IOSTRG flag in _filbuf function. 2014-01-28 10:52:35 +01:00
Piotr Caban 965d3acc6d msvcrt: Fix wcs*coll functions behavior in C locale. 2014-01-27 14:13:27 +01:00
Piotr Caban 619944cf58 msvcrt: Fix str*coll functions behavior in C locale. 2014-01-27 14:13:27 +01:00
Piotr Caban 638c8e3847 msvcrt: Don't overwrite unmatched string in scanf. 2014-01-16 21:04:19 +01:00
Alexandre Julliard b88630a42d msvcrt: Return per-thread information also in lc_codepage_func and lc_handle_func. 2014-01-13 17:37:17 +01:00
Piotr Caban 1d4ac6dc1e msvcrt/tests: Fix crash in mbstowcs tests. 2014-01-09 17:42:44 +01:00
Piotr Caban 544d179434 msvcrt: Handle null mbstr parameter in mbstowcs. 2014-01-08 16:11:31 +01:00
Alexandre Julliard 3e40fea9d6 makefiles: Automatically add the necessary msvcrt flags to the generated rules. 2014-01-08 14:34:15 +01:00
Piotr Caban 07566faaca msvcr110: Add __libm_sse2_sqrt_precise implementation. 2014-01-07 16:34:33 +01:00
Piotr Caban 32858d1811 msvcr90: Add _is_exception_typeof implementation. 2014-01-06 20:52:40 +01:00
Piotr Caban 0f3c31b1ea msvcrt: Try to convert C to C++ exception in __CxxFrameHandler. 2014-01-02 15:50:13 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Piotr Caban ed2d53a36a msvcrt: Don't write to buffer in ungetc if _IOSTRG flag is specified. 2013-12-30 19:44:08 +01:00
Piotr Caban 6122c2ba37 msvcrt: Convert data to multibyte encoding in ungetwc if needed. 2013-12-30 19:44:02 +01:00
Alexandre Bique 33199860f1 msvcrt: Implement missing sprintf functions. 2013-12-10 13:01:22 +01:00
Alexandre Bique 09bfea117d msvcrt: Implement _vsprintf_l. 2013-12-10 13:01:22 +01:00
Francois Gouget 0b5b54e9f4 msvcrt: Standardize on using a comparison operator to ensure we return 0 or 1. 2013-12-02 10:49:38 +01:00
Francois Gouget e4856dbb70 libport: Add an isfinite() implementation for Solaris. 2013-11-29 17:58:40 +01:00
Daniel Lehman 15b35f4d37 msvcrt: Return wall-clock time from clock(). 2013-11-25 19:30:20 +01:00
Nikolay Sivov 1f8636c5af msvcrt/tests: Enable compilation with -D__WINESRC__. 2013-11-05 20:38:55 +01:00
Andrey Zhezherun 3bb2c11757 msvcrt: Implemented _chsize_s. 2013-11-05 20:38:20 +01:00
Piotr Caban 647817b018 msvcrt: Don't call invalid parameter handler on invalid mode flag. 2013-11-01 14:17:31 +01:00