• Tim Peters's avatar
    Fix for SF bug #415514: "%#x" % 0 caused assertion failure/abort. · 711088d9
    Tim Peters yazdı
    http://sourceforge.net/tracker/index.php?func=detail&aid=415514&group_id=5470&atid=105470
    For short ints, Python defers to the platform C library to figure out what
    %#x should do.  The code asserted that the platform C returned a string
    beginning with "0x".  However, that's not true when-- and only when --the
    *value* being formatted is 0.  Changed the code to live with C's inconsistency
    here.  In the meantime, the problem does not arise if you format a long 0 (0L)
    instead.  However, that's because the code *we* wrote to do %#x conversions on
    longs produces a leading "0x" regardless of value.  That's probably wrong too:
    we should drop leading "0x", for consistency with C, when (& only when) formatting
    0L.  So I changed the long formatting code to do that too.
    711088d9
unicodeobject.c 122 KB