On Fri, Sep 19, 2008 at 6:14 PM, Paul Vriens paul.vriens.wine@gmail.com wrote:
James Hawkins wrote:
On Fri, Sep 19, 2008 at 4:59 PM, Austin English austinenglish@gmail.com wrote:
Relevant code: /* check %p with no hex digits */ ok( sscanf("1233", "%p", &ptr) == 1, "sscanf failed\n" ); ok( ptr == (void *)0x1233,"sscanf reads %p instead of %x\n", ptr, 0x1233 );
ok( sscanf("1234", "%P", &ptr) == 1, "sscanf failed\n" ); ok( ptr == (void *)0x1234,"sscanf reads %p instead of %x\n", ptr, 0x1234 );
Comment reads %p. All the other chars are lower case, and you can see the values are different (1233 vs 1234).
I'm still positive the original author meant to use capital P. There's no point in adding yet another test for a number that is different by one digit.
I have to agree with James here. The original author (Peter Oberndorfer) added the tests and an implementation of %p and %P.
Commits:
02fb99e6b360a6f321f716b57df97ca79ec1b9f3 9e3a4652dafbcf1f3f957858a54f2149e91942b7
-- Cheers,
Paul.
Here's the gcc error:
gcc -c -I. -I. -I../../../include -I../../../include -I../../../include/msvcrt -I./.. -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -I/usr/local/include -Werror -o scanf.o scanf.c scanf.c: In function `test_sscanf': scanf.c:66: warning: unknown conversion type character `P' in format scanf.c:66: warning: too many arguments for format *** Error code 1
Stop in /usr/home/pcbsd/wine-git/dlls/msvcrt/tests.