From: Guido van Rossum Date: Wed, 29 Jan 1997 06:00:24 +0000 (+0000) Subject: Fix bug reported by Per Lindqvist: "%#06x" % 1 stuck the 0 padding X-Git-Tag: v1.5a1~419 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4acdc2327f206ecaacad7671d9acb87a3b7e57dd;p=python Fix bug reported by Per Lindqvist: "%#06x" % 1 stuck the 0 padding in front of the 0x, like such: "0000x1". --- diff --git a/Objects/stringobject.c b/Objects/stringobject.c index f037f96177..283e219d34 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -855,8 +855,20 @@ formatstring(format, args) if (len < 0) goto error; sign = (c == 'd'); - if (flags&F_ZERO) + if (flags&F_ZERO) { fill = '0'; + if ((flags&F_ALT) && + (c == 'x' || c == 'X') && + buf[0] == '0' && buf[1] == c) { + *res++ = *buf++; + *res++ = *buf++; + rescnt -= 2; + len -= 2; + width -= 2; + if (width < 0) + width = 0; + } + } break; case 'e': case 'E':