Piotr Caban
97557ae168
msvcrt: Enable printf %z, %t and %j formats.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:13:16 +01:00
Piotr Caban
1309e11ea1
msvcrt: Improve printf %I format support.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:13:11 +01:00
Ambrož Bizjak
3b6b28bce5
ucrtbase: Implement t and j printf length modifiers.
...
Signed-off-by: Ambroz Bizjak <abizjak.pro@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:31:14 +01:00
Felix Hädicke
90e520b418
msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
...
memcpy() must not be used here, because results are undefined if the
memory areas overlap. This can cause problems, particularly if
particular compiler optimisations are enabled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47918
Signed-off-by: Felix Hädicke <felixhaedicke@web.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 12:30:50 +02:00
Piotr Caban
3f675c1a9d
msvcrt: Use internal toupper implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:50:32 +01:00
Piotr Caban
a808235e45
msvcrt: Use mbtowc/wctomb for string conversion in printf.
...
This changes printf behaviour for C locale.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:06:28 +01:00
Michael Stefaniuc
af4821ca81
msvcrt: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 21:01:09 +02:00
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
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
Józef Kucia
2a2f525eb3
msvcrt: Fix precision handling for string arguments.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Carlo Bramini
5f2b9d5968
msvcrt: Use return value of *printf() instead of calling strlen() and simplify code.
...
Signed-off-by: Carlo Bramini <carlo_bramini@users.sourceforge.net>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 16:44:33 +01:00
Piotr Caban
1680e98427
msvcrt: Improve multibyte characters support in printf.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 16:06:30 -06:00
Huw Davies
10eb6fa718
ucrtbase: Add support for natural string widths.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:59 +09:00
Martin Storsjo
4a79e54917
ucrtbase: Handle the C99 'z' size_t specifier for integers.
...
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:19:32 +09:00
Martin Storsjo
494572ed4d
msvcrt: Interpret 'I' as size_t size specifier for integer conversions.
...
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:19:27 +09:00
Martin Storsjo
b9d0f5d562
ucrtbase: Implement the new printf corner case behaviour.
...
Check the option flags whether the new or old legacy behaviours are
wanted.
For _MSVCR_VER < 140, don't check the option flags but hardcode them to
TRUE. (This avoids having to manually add all three flags into every
caller of pf_printf.) Mask out any other flags, to avoid other
out-of-range flags to be interpreted as the other flags (positional
params, invoke invalid param handler).
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:19:12 +09:00
Martin Storsjo
1d17e85026
msvcrt: Ignore 'N' as format length modifier for pointers, just like 'F'.
...
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:19:07 +09:00
Martin Storsjo
1c8412d9e5
msvcrt: Refactor pf_printf to take options as flags instead of as BOOL parameter.
...
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:56 +09:00
Piotr Caban
46db64ce1b
msvcrt: Fix NAN handling in printf.
2015-03-25 22:40:06 +09:00
Hugh McMaster
828a46898d
msvcrt: Fix a spelling error.
2014-12-22 13:37:15 +01:00
Piotr Caban
e70bf5f8c6
msvcrt: Fix compilation errors on Mingw.
2014-04-16 18:00:01 +02: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
bffc240b4e
msvcrt: Fix loop condition when printing Inf or NaN.
2013-09-17 16:26:01 +02:00
Piotr Caban
6594212dd6
msvcrt: Fix Inf and NaN handling in printf function.
2013-09-16 19:51:04 +02:00
Max Kellermann
cee65e9409
msvcrt: Fix character/byte confusion in buffer overflow branch.
2013-05-07 11:16:08 +02:00
Piotr Caban
9c4be83a78
msvcrt: Added _set_output_format implementation.
2013-03-27 12:13:20 +01:00
Piotr Caban
d958ecbc69
msvcrt: Fixed floating point numbers printing when flags.Sign=' '.
2012-12-12 11:59:55 +01: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
Piotr Caban
0cc16fc8a5
msvcrt: Fixed 'h' modifier handling when printing integers.
2012-04-16 18:56:15 +02:00
André Hentschel
36217c208f
msvcrt: Fix a typo.
2012-03-26 12:41:27 +02:00
Piotr Caban
79c19aef29
msvcrt: Fixed printf behaviour on hexadecimal, zero-padded numbers.
2012-03-13 10:26:05 +01:00
Alexandre Julliard
88d632aec3
msvcrt: Fix formatting of pointers in printf.
2011-12-21 16:05:04 +01:00
Piotr Caban
d7b5c0b14f
msvcrt: Fix %f format handling in printf so it works with big floats.
2011-07-26 16:33:40 +02:00
Marcus Meissner
034c2cb3fd
mscvrt: Do not shadow fmt (Coverity).
2011-06-14 15:24:55 +02:00
Piotr Caban
ab9077d640
msvcrt: Fixed buffer overflow in snprintf functions family.
...
Spotted by Andrew Miller.
2011-06-06 21:49:22 +02:00
Piotr Caban
6991ac0331
msvcrt: Use get_locinfo instead of get_locale.
2011-05-25 11:45:42 +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
Piotr Caban
6ecabf7cae
msvcrt: Added _set_printf_count_output and _get_printf_count_output implementation.
2011-04-28 11:08:06 +02:00
Piotr Caban
10901e17b4
msvcrt: Remove wchar_t/char conversions needed for pf_integer_conv.
2011-04-27 13:27:34 +02:00
Piotr Caban
8e58cbd8cb
msvcrt: Use pf_integer_conv when displaying pointers.
2011-04-27 13:26:38 +02:00
Piotr Caban
0f9f0a1613
msvcrt: Don't use additional buffer in pf_integer_conv.
2011-04-27 13:26:36 +02:00
Piotr Caban
35cc03d54c
msvcrt: Print all integers using pf_integer_conv function.
2011-04-27 13:19:14 +02:00
Piotr Caban
00182ca6d9
msvcrt: Added sprintf_p_l implementation.
2011-04-27 13:18:59 +02:00
Piotr Caban
bfc2f5f2a5
msvcrt: Use callback based printf in sprintf functions family.
2011-04-25 14:36:36 +02:00
Piotr Caban
056dfb26ce
msvcrt: Copy and reorganize printf implementation.
2011-04-25 14:36:19 +02:00