PyString_FromFormatV: Massage platform %p output to match what gcc does,

at least in the first two characters.  %p is ill-defined, and people will
forever commit bad tests otherwise ("bad" in the sense that they fall
over (at least on Windows) for lack of a leading '0x'; 5 of the 7 tests
in test_repr.py failed on Windows for that reason this time around).
This commit is contained in:
Tim Peters 2001-08-25 03:02:28 +00:00
parent ea46fa8494
commit 6af5bbb565
1 changed files with 8 additions and 0 deletions

View File

@ -269,6 +269,14 @@ PyString_FromFormatV(const char *format, va_list vargs)
break;
case 'p':
sprintf(s, "%p", va_arg(vargs, void*));
/* %p is ill-defined: ensure leading 0x. */
if (s[1] == 'X')
s[1] = 'x';
else if (s[1] != 'x') {
memmove(s+2, s, strlen(s)+1);
s[0] = '0';
s[1] = 'x';
}
s += strlen(s);
break;
case '%':