From 4acdc2327f206ecaacad7671d9acb87a3b7e57dd Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 29 Jan 1997 06:00:24 +0000 Subject: [PATCH] Fix bug reported by Per Lindqvist: "%#06x" % 1 stuck the 0 padding in front of the 0x, like such: "0000x1". --- Objects/stringobject.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Objects/stringobject.c b/Objects/stringobject.c index f037f961771..283e219d34a 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':