Commit Graph

60 Commits

Author SHA1 Message Date
Piotr Caban 287dabd9b6 msvcrt: Fix floating point numbers scanning when null-byte is preceding the number.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48452
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 22:20:36 +01:00
Piotr Caban c4ad739195 msvcrt: Don't use ungetc when reading double in scanf.
It may not work on unbuffered streams.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Piotr Caban 1366dd69d5 msvcrt: Update consumed in all scanf variants on end of input.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Erich E. Hoover f99d307a3e msvcrt: Use parse_double for scanf floats.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-02 19:16:02 +01:00
Piotr Caban 7695433c05 msvcrt: Support mixing length and width in scanf format.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45967
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Erich E. Hoover 925a88d1f7 msvcrt: Fix scanf file locking when returning EOF.
Fixes regression introduced in 0a89a69913.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48087
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 15:44:22 +01:00
Erich E. Hoover 0a89a69913 msvcrt: Fix fscanf return when EOF is immediately after an end of line.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Zebediah Figura 9445bed298 ucrtbase: Write the %hh prefix as a single char.
This fixes a crash in Planet Coaster on startup.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:19:32 +02:00
Michał Janiszewski 08d98f0ff8 msvcrt: Update size checks for secure scanf versions.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 18:04:17 +02:00
Michał Janiszewski 32e65acc00 msvcrt: Don't forget to free the buffer in scanf.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:51:53 +02:00
Piotr Caban 7aa67f1e5f msvcrt: Fix buffer size checks in swscanf_s.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 15:57:12 +01:00
Piotr Caban e7f9b562b9 msvcrt: Fix wide characters handling in wscanf functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 13:08:57 +02:00
Piotr Caban 32bb8d9068 msvcrt: Fix handling of unsigned chars in scanf format.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 15:53:21 +02:00
Nikolay Sivov 7e86ab3df6 msvcrt: Fix cwscanf* prototypes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:32:09 +01:00
Nikolay Sivov d99727bcb3 msvcrt: Fix char to int promotion that breaks pattern lookup.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:31:53 +01:00
Michael Stefaniuc e67a65c59e msvcrt: Avoid identical if and else bodies (PVS-Studio). 2015-02-18 16:08:48 +09:00
Piotr Caban 638c8e3847 msvcrt: Don't overwrite unmatched string in scanf. 2014-01-16 21:04:19 +01:00
Piotr Caban 74ec93bab7 msvcrt: Improved scanf precision. 2012-11-05 17:44:32 +01:00
Piotr Caban a9c6113c28 msvcrt: Improved parsing precision of doubles in scanf.
This code is based on doubles parsing in jscript lexer.
2012-11-01 15:43:21 +01:00
Piotr Caban bab686e7d1 msvcrt: Fixed %Lf format handling in scanf. 2012-11-01 15:43:14 +01:00
Piotr Caban 7240170cee msvcrt: Added more length modifiers in scanf function. 2012-04-16 18:56:15 +02:00
Daniel Lehman 5a3695ccee msvcrt: Make WEOF returned from swscanf signed. 2012-01-06 19:24:16 +01:00
Piotr Caban 6991ac0331 msvcrt: Use get_locinfo instead of get_locale. 2011-05-25 11:45:42 +02:00
Piotr Caban 73b9acf273 msvcrt: Make scanf functions thread safe. 2011-05-19 19:37:26 +02:00
Piotr Caban 405e6eb309 msvcrt: Added _snscanf implementation. 2011-04-05 17:38:21 +02:00
Piotr Caban 59c1139f05 msvcrt: Fix debug message in scanf. 2010-04-26 09:07:51 -05:00
Piotr Caban f36671c57f msvcrt: Added _cwscanf* implementation. 2010-04-22 18:11:11 +02:00
Piotr Caban 17f486baa4 msvcrt: Added support for secure functions to scanf helper functions. 2010-04-22 18:09:40 +02:00
Piotr Caban 231fc11457 msvcrt: Add support for locales in scanf helper functions. 2010-04-22 15:10:27 +02:00
Gregor Schneider 2043035e17 msvcrt: Calculate floating point decimals in internally used long double precision. 2009-11-24 15:53:36 +01:00
Alexandre Julliard 3a195139c2 msvcrt: Fix scanf to correctly parse pointers on 64-bit. 2009-04-06 20:58:10 +02:00
Francois Gouget 96848a0605 Remove spaces before '\n's. 2009-03-09 12:05:58 +01:00
Alexandre Julliard f8de2ebb0b msvcrt: Convert all the scanf functions to use MS ABI varargs. 2009-01-03 11:38:25 +01:00
Peter Oberndorfer 9e3a4652da msvcrt: Implement %p for scanf. 2008-07-02 11:37:18 +02:00
Alexandre Julliard 6ee428e3a0 msvcrt: Add support for field width in scanf %c format. 2008-03-20 19:55:31 +01:00
James Hawkins eedfacdfe7 janitorial: Remove links to any microsoft site. 2008-03-01 12:04:03 +01:00
Alasdair Sinclair 8137c094fd msvcrt: If we're at EOF in the buffer and we have pattern %n in format string we should not count the EOF in the total. 2007-01-17 11:23:34 +01:00
Andrzej Popowski 4e5c51a6ee msvcrt: Fix scanf format "%i" base detection. 2006-08-23 17:04:53 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
H. Verbeet 8c29b7dc8b msvcrt: Fix reading of signed numbers with unsigned read types in scanf. 2006-03-27 11:30:50 +02:00
C. Scott Ananian 9ef2706a77 Allow scanf to continue parsing format string after a '%n'. 2005-03-10 11:44:19 +00:00
Francois Gouget 168265ebb0 Fix handling of EOF for the '%c' and '%C' cases in scanf().
Add conformance tests to verify the behavior of '%c'.
Improve some of the test's error messages.
2005-01-28 11:27:26 +00:00
Francois Gouget 61d21ce706 Update RTL_BITMAP and RTL_BITMAP_RUN to match the 2000 DDK.
Only test the Rtl{Initialize,SetAll,ClearAll}Bits macros if they are
defined.
2004-08-23 18:52:54 +00:00
Raphael Junqueira d134aa5945 Fix scanf handling of float numbers (beginning with a dot). 2004-05-17 19:49:44 +00:00
Uwe Bonnes 0511d33522 Implement I64 modifier, move WARN to TRACE. 2004-02-24 01:09:39 +00:00
Alexandre Julliard c042e13ef6 Fixed varargs handling in the scanf functions (spotted by Eric
Pouech).
2004-02-19 01:13:12 +00:00
Peter Berg Larsen a457ee0a3d %[a-z] and %[z-a] are interpreted as equivalent to %[abcde...z].
Added some scanf tests.
2004-01-06 21:36:10 +00:00
Peter Berg Larsen ccd749684f Added _BITMAPSIZE_ and split _CONVERT_ macro to remove #ifdefs. 2004-01-06 20:38:37 +00:00
Uwe Bonnes 545a3b7118 Patch and test for scanf %i. 2003-12-15 21:06:19 +00:00
Uwe Bonnes 242beda8d2 %n returns the number of consumed characters. 2003-10-10 00:00:19 +00:00