Commit Graph

454 Commits

Author SHA1 Message Date
Fabian Maurer 058be4304e msvcrt: Don't crash if _vsnwprintf gets NULL as format string and add test.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:04:02 +01:00
Nikolay Sivov b8d294cd7b msvcrt: Added _get_purecall_handler().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-24 20:23:25 +01:00
Nikolay Sivov d045a5ea29 msvcrt: Implement _memicmp_l().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:21:10 +01:00
Alexandre Julliard 7726157e19 msvcrt: Use WINAPIV calling convention for variadic functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:20:02 +01:00
Gijs Vermeulen 7f9c2dabc3 msvcrt: Add vf[w]printf_p & vf[w]printf_p_l.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 15:26:32 +02:00
Gijs Vermeulen 1ae09d5fb2 msvcrt: Add vf[w]printf_s_l.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 18:28:21 +02:00
Piotr Caban eb7d55761e msvcrt: Add _mbccpy_s_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:49 +02:00
Piotr Caban f097c2be11 msvcrt: Add mbsnlen_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 20:32:03 +02:00
Alistair Leslie-Hughes fae0570a88 msvcrt: Implement clearerr_s.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 11:19:36 +02:00
Gijs Vermeulen 4a75c37b41 msvcrt: Add _vfprintf_l.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 14:28:29 +02:00
Martin Storsjo 3d3d080688 msvcrt: Implement setjmp/longjmp on aarch64.
Also include the rest of except_*.c (based on except_arm.c) as stubs.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Nikolay Sivov 1a6e50ce97 msvcrt: Added _ismbcl0().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:11:43 +09:00
Piotr Caban 395a65bdc6 msvcrt: Fix strcpy implementation so it works on overlapping buffers.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-06 10:34:11 +09:00
Martin Storsjo a44b52d102 msvcrt: Export -f suffixed float functions functions on arm64.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-03 19:18:06 +02:00
Martin Storsjo a4af0aaf5f msvcrt: Don't export _isnanf, _nextafterf, _scalbf and frexpf on arm.
Based on the import libraries in MSVC 2012, 2013 and in the Windows 10
SDK, these functions actually aren't exported on arm - only on x86_64.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-03 19:17:53 +02:00
Huw Davies b7bb360be3 msvcrt: _difftime64() takes 64-bit args.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 16:22:25 +02:00
Daniel Lehman bda232de94 msvcrt: Add _iswctype_l.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 14:54:09 +02:00
Piotr Caban 282b9e6c90 msvcr: Fix strftime spec file entry.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 20:10:22 +01:00
Piotr Caban 17186413fe msvcr: Add _get_dstbias implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
André Hentschel 673ef69309 msvcrt: Fix _CxxThrowException spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 12:38:24 +01:00
Alexandre Julliard cf51752d5f msvcrt: Disable relay for the __libm_sse2 functions.
The relay code can use the SSE registers too.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2016-12-21 18:37:21 +01:00
Daniel Lehman cada88a64b msvcrt: Add _lfind_s.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 12:14:44 +01:00
Nikolay Sivov c03e5ed3be msvcrt: Added _wfindnext32().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 17:55:07 +01:00
Piotr Caban eb9584d7fc msvcr90: Add _fpieee_flt tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Piotr Caban dc0e3d0a9c msvcrt: Add _fpieee_flt stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Bernhard Übelacker 4fa616c37c msvcrt: Fix strtok_s and _mbstok_s for empty strings.
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:15 +09:00
Piotr Caban e38cbd82bd msvcrt: Add wcsftime_l.
Based on Daniel Lehman's patch.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:07:56 +09:00
Piotr Caban 1505684a85 msvcrt: Add _strftime_l.
Based on Daniel Lehman's patch.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:07:46 +09:00
Erich E. Hoover 6afda19f48 msvcrt: Add support for _fstat32i64.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 18:51:22 +09:00
Hugh McMaster 56eb4d3105 msvcrt: Implement _wperror.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:09:17 +09:00
Alex Henrie 0c4e073551 msvcr90: Add tests for mbstowcs and wcstombs with a negative count.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 19:20:23 +09:00
Piotr Caban 540d969150 msvcrt: Add mbsrtowcs_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 21:16:49 +09:00
Piotr Caban 2296261600 msvcr80: Use Cxx(Un)RegisterExceptionObject helpers in i386 nested exception handler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:31 +09:00
Piotr Caban 8348d4b40e msvcrt: Add __CxxUnregisterExceptionObject partial implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:25 +09:00
Piotr Caban 76411c8dc5 msvcrt: Add __DestructExceptionObject implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:20 +09:00
Piotr Caban 11ccffea08 msvcrt: Add __CxxRegisterExceptionObject implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:15 +09:00
Piotr Caban 29f547d2ce msvcr80: Add _FindAndUnlinkFrame implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:09 +09:00
Piotr Caban 0204517401 msvcr80: Add _CreateFrameInfo implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:04 +09:00
Piotr Caban 0ef61844b8 msvcrt: Add i386 _IsExceptionObjectToBeDestroyed implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Sebastian Lackner 155d3b192b msvcr90/tests: Use brackets to protect arguments in call_func2 macro.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 20:26:28 +09:00
Piotr Caban ecfc10bbfb msvcrt: Add _crt_debugger_hook implementation.
Based on a patch by Andrey Zhezherun.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 01:48:52 +09:00
Alexandre Julliard e4f92e04a7 msvcrt: Don't import atexit to avoid conflicts with the Mingw runtime.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 19:10:03 +09:00
Piotr Caban 77feb6938d msvcrt: Add _wtmpnam_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 18:23:43 +01:00
Piotr Caban 9b6c93f6f2 msvcrt: Add tmpnam_s implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 18:23:36 +01:00
Paul Gofman a3c818b33d msvcrt: Rename __libm_sse2_* functions to fix compilation when using Intel compiler.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:51:32 +01:00
Piotr Caban 5e10634a5a msvcrt: Add _strtol_l implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:54 +01:00
Piotr Caban 07762576c4 msvcrt: Add i386 __CxxExceptionFilter implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-10-01 16:32:34 +09:00
Piotr Caban ecac39c19b msvcrt: Add _wctime32_s implementation. 2015-09-15 17:02:11 +09:00
Piotr Caban cf20731447 msvcrt: Add _mbscat_s_l implementation. 2015-07-07 16:52:20 +09:00
Piotr Caban 0eb112aa6e msvcrt: Add ismbblead_l implementation. 2015-07-07 16:52:20 +09:00
Piotr Caban 27b7ff73e4 msvcrt: Add _ungetwch implementation. 2015-06-15 14:49:26 +09:00
Piotr Caban d4fab07110 msvcrt: Add _getwche implementation. 2015-06-15 14:49:21 +09:00
Piotr Caban 9a10a71638 msvcrt: Add _getwch implementation. 2015-06-15 14:49:16 +09:00
Piotr Caban eb9e00857a msvcrt: Write directly to the console in _putwch. 2015-06-15 14:49:04 +09:00
Piotr Caban 853d4343db msvcr: Add _ungetch_nolock implementation. 2015-06-12 21:22:41 +09:00
Piotr Caban 57754bdb29 msvcr: Add _getche_nolock implementation. 2015-06-12 21:22:41 +09:00
Piotr Caban 0a600ccde8 msvcr: Add _putch_nolock implementation. 2015-06-12 21:22:41 +09:00
Piotr Caban 3bd60974a9 msvcr: Add _getch_nolock implementation. 2015-06-12 21:22:41 +09:00
Daniel Lehman 65b8a3da47 msvcrt: Add __swprintf_l. 2015-06-01 14:43:54 +09:00
Akihiro Sagawa cd5a76b182 msvcrt: Add _mbctokata implementation. 2015-03-17 00:20:00 +09:00
Akihiro Sagawa b6ab2b6268 msvcrt: Add _mbctohira implementation. 2015-03-17 00:19:58 +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 bd1428ef50 msvcrt: Add _vscprintf_p implementation. 2015-01-20 16:08:49 +01:00
Piotr Caban 3af24fe1f4 msvcrt: Add _wcsset_s implementation. 2014-12-23 18:59:36 +01:00
Iván Matellanes bcbd83d154 msvcrt: Added _fread_nolock_s implementation. 2014-11-10 19:25:15 +09:00
Iván Matellanes 0ad3537d68 msvcrt: Added _putwc_nolock implementation. 2014-11-06 13:41:27 +09:00
Iván Matellanes 755a54b2a7 msvcrt: Added _putc_nolock implementation. 2014-11-06 13:41:23 +09:00
Iván Matellanes fb4248315f msvcrt: Added _getwc_nolock implementation. 2014-11-06 13:41:19 +09:00
Iván Matellanes caedfc8954 msvcrt: Added _getc_nolock implementation. 2014-11-06 13:41:13 +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 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 53869e19eb msvcrt: Add _strnset_s implementation. 2014-09-02 15:07:27 +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 31c76cae7c msvcrt: Add _wcslwr_s_l implementation. 2014-05-24 11:01:28 +09: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 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 1be4654842 msvcr80: Update exceptions RTTI data to reflect it's part of std namespace. 2014-05-06 19:20:48 +02:00
Piotr Caban 277eb98739 msvcrt: Add _wcsupr_l implementation. 2014-04-29 16:07:44 +02:00