Martin Storsjo
b09aadd202
ucrtbase: Handle the swprintf style termination and return values.
...
When neither the "legacy vsprintf null termination" nor the "standard
snprintf behaviour" flags are specified, the functions return -2 when
the output string didn't fit (similar to old style msvcrt _snprintf that
returned -1), but they are null terminated (similar to the C99 snprintf
style behaviour). This is the same way as the C99 swprintf function
behaves.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 19:18:42 +09:00
Martin Storsjo
fcf9ec8080
ucrtbase: Add defines for the printf/scanf options constants.
...
Avoid using hardcoded magic numbers for these options.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Carlo Bramini
21a14e9612
msvcrt: SEEK_* macros from GLIBC should be replaced with safer MSVCRT_SEEK_* macros.
2015-08-19 08:39:02 +09:00
Piotr Caban
cf20731447
msvcrt: Add _mbscat_s_l implementation.
2015-07-07 16:52:20 +09:00
Piotr Caban
e9eec98d5c
msvcrt: Cache locale string to LCID conversion results.
2015-06-24 22:57:00 +09:00
Piotr Caban
f55192aabc
msvcr120: Add ___lc_locale_name_func implementation.
2015-06-17 20:01:17 +09:00
Daniel Lehman
bc1eaf7a0f
msvcrt: Add _W_Getdays.
2015-06-10 15:26:10 +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
Martin Storsjo
5f395ee8e6
msvcr120: Implement the _dclass/_fdclass/_ldclass functions.
2014-12-09 18:48:49 +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
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
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
4bb80afedc
msvcrt: Added _fflush_nolock implementation.
...
Thanks to Piotr Caban for the test.
2014-10-27 19:03:57 +09:00
Iván Matellanes
5077d8c137
msvcrt: Added _fseeki64_nolock implementation.
2014-10-16 13:02:16 +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
Piotr Caban
43be238331
msvcr80: Throw bad_alloc exception when operator new fails.
2014-09-02 20:54:47 +02:00
Nikolay Sivov
60de49770c
msvcrt: Implement llabs().
2014-08-29 20:38:42 +02:00
Piotr Caban
18a416f7d5
msvcrt: Support NULL buffer in setvbuf.
2014-06-26 19:00:41 +02:00
Piotr Caban
7f23c57d09
msvcr100: Add critical_section class implementation.
2014-06-24 13:31:28 +02:00
Piotr Caban
cda83f9c33
msvcr100: Add _SpinWait implementation.
2014-06-23 10:07:01 +02:00
Piotr Caban
d48314c8a5
msvcrt: Don't use default process heap.
2014-04-22 14:46:43 +02:00
Piotr Caban
a6e53eaed2
msvcr90: Share the source code with msvcrt.
2014-04-16 18:05:41 +02:00
Piotr Caban
e70bf5f8c6
msvcrt: Fix compilation errors on Mingw.
2014-04-16 18:00:01 +02:00
Piotr Caban
b01f888129
msvcrt: Fix internal LONG_MAX and ULONG_MAX definitions.
2013-09-25 19:30:23 +02:00
Piotr Caban
33d697c001
msvcrt: Add _wsetlocale implementation.
2013-08-29 19:56:17 +02:00
Piotr Caban
ff7388ca3f
msvcrt: Added _mbstok_s_l implementation.
2013-04-30 18:44:46 +02:00
Jactry Zeng
7cd91b6452
msvcrt: Fixed typo of _strncoll and _strncoll_l.
2013-04-29 20:30:55 +02:00
Piotr Caban
280f8237b5
msvcrt: Move fread_s function to msvcrt.
2013-03-28 18:54:42 +01:00
Piotr Caban
06c6773844
msvcrt: Added _wtol_l implementation.
2013-03-27 20:12:29 +01:00
Piotr Caban
9c4be83a78
msvcrt: Added _set_output_format implementation.
2013-03-27 12:13:20 +01:00
Piotr Caban
6eeb000c90
msvcrt: Fixed fgetwc behavior on multibyte characters and Unicode files.
2013-03-25 16:24:13 +01:00
Piotr Caban
14a81773c7
msvcrt: Added __pxcptinfoptrs implementation.
2013-03-05 12:44:30 +01:00
André Hentschel
874d077ca6
msvcrt: Add a new file for the ARM exception handling.
2013-02-27 19:23:45 +01:00
Nikolay Sivov
eab914b968
msvcrt: Move demangler flags to a header and use them.
2013-02-25 10:40:36 +01:00
Piotr Caban
a968a1ad6d
msvcrt: Return child exit code in _pclose function.
...
Based on a patch by Borut Ražem.
2013-01-18 13:28:59 +01:00
Piotr Caban
7f4e1c65b1
msvcrt: Added support for commit flag in fopen.
2013-01-18 13:28:58 +01:00
Alexandre Julliard
afee133b65
msvcrt: Fix incorrect use of the system wctomb function.
2013-01-14 13:47:00 +01:00
Piotr Caban
ebfa653618
msvcrt: Make fputwc encoding aware.
2013-01-11 12:04:08 +01:00
Piotr Caban
4ffa9364eb
msvcrt: Simplify fseek implementation.
2013-01-10 12:28:39 +01:00
Piotr Caban
96be6eb570
msvcrt: Added support for unicode open mode in msvcrt_get_flags function.
2013-01-10 12:26:53 +01:00
Piotr Caban
dbec250635
msvcrt: Added _stricmp_l implementation.
2012-12-24 13:34:04 +01:00
Piotr Caban
7afc98a7f7
msvcrt: Fixed codepage setting code in create_locale.
2012-12-18 12:38:12 +01:00
Piotr Caban
3b5ab1b48f
msvcrt: Added _atodbl_l implementation.
2012-12-17 20:31:25 +01:00
Piotr Caban
f5c8647919
msvcrt: Added _mbsnbcoll_l implementation.
2012-12-12 12:01:36 +01:00
Piotr Caban
a2b71b732a
msvcrt: Added _mbsnbicoll_l implementation.
2012-12-12 12:01:22 +01:00
Piotr Caban
a3035679d5
msvcrt: Improved _atoflt_l precision.
2012-11-06 16:02:35 +01:00
Piotr Caban
8060752c09
msvcrt: Fixed RTTI structure on 64-bit systems.
2012-09-07 11:55:32 +02:00
Alexandre Julliard
06989a0483
msvcrt: Make sure that errno is always set when calling the invalid parameter handler.
2012-07-26 11:05:32 +02:00
Thomas Faber
bf5c7d4546
msvcrt: Fix malloc_func_t/free_func_t calling convention.
2012-05-07 11:37:19 +02:00
Piotr Caban
b58cfb40b9
msvcrt: Added field names to MSVCRT___lc_time_data structure.
2012-04-11 18:21:00 +02:00
Piotr Caban
0f7c834bd1
msvcrt: Rewrite asctime function.
2012-04-11 18:20:14 +02:00
Akihiro Sagawa
c9f1489cab
msvcrt: Implement _mbcjmstojis.
2012-03-16 11:11:07 +01:00
Marcus Meissner
b057a3e898
msvcrt: Mark various internal functions as hidden.
2012-01-03 12:37:32 +01:00
Piotr Caban
283c07b8ce
msvcp90: Added ctype<char>::tolower functions implementation.
2011-12-21 18:05:47 +01:00
Piotr Caban
344883fb85
msvcrt: Initialize lc_time_curr inside create_locale.
2011-12-07 17:50:04 +01:00
Thomas Faber
5402827329
msvcrt: Fix MSVC build in exit.c and msvcrt.h.
2011-11-07 11:29:43 +01:00
Piotr Caban
698afdca98
msvcrt: Don't search for LCID in _setmbcp_l if it was already done.
2011-10-26 17:07:05 +02:00
Piotr Caban
fea69b2305
msvcrt: Don't duplicate _setmbcp functionality inside _create_locale function.
2011-10-13 19:57:19 +02:00
Piotr Caban
99579ca42a
msvcrt: Added _mbtowc_l implementation.
2011-10-12 17:09:34 +02:00
Piotr Caban
0f53100ade
msvcrt: Move _pctype definition to locale.c.
2011-10-12 17:09:30 +02:00
Piotr Caban
cfca12e486
msvcrt: Use ismbcodepage instead of mb_cur_max in mbcodepage dependent functions.
2011-10-12 17:09:20 +02:00
Piotr Caban
cf27cb4927
msvcrt: Don't overwrite mbcinfo inside setlocale.
2011-10-12 17:09:07 +02:00
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