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).
That's not a compelling argument. For all we know, the test was intended to show that both %p and %P are interpreted the same way. --Juan