• Tim Peters's avatar
    Bug 415514 reported that e.g. · fff53250
    Tim Peters yazdı
        "%#x" % 0
    blew up, at heart because C sprintf supplies a base marker if and only if
    the value is not 0.  I then fixed that, by tolerating C's inconsistency
    when it does %#x, and taking away that *Python* produced 0x0 when
    formatting 0L (the "long" flavor of 0) under %#x itself.  But after talking
    with Guido, we agreed it would be better to supply 0x for the short int
    case too, despite that it's inconsistent with C, because C is inconsistent
    with itself and with Python's hex(0) (plus, while "%#x" % 0 didn't work
    before, "%#x" % 0L *did*, and returned "0x0").  Similarly for %#X conversion.
    fff53250
test_format.py 8.93 KB