Author: Carl Friedrich Bolz <cfb...@gmx.de>
Branch: 
Changeset: r48053:c29a0415adb7
Date: 2011-10-14 14:53 +0200
http://bitbucket.org/pypy/pypy/changeset/c29a0415adb7/

Log:    fix untranslatable total nonsense in zfill

diff --git a/pypy/objspace/std/stringobject.py 
b/pypy/objspace/std/stringobject.py
--- a/pypy/objspace/std/stringobject.py
+++ b/pypy/objspace/std/stringobject.py
@@ -756,7 +756,8 @@
     input = w_self._value
     width = space.int_w(w_width)
 
-    if len(input) >= width:
+    num_zeros = width - len(input)
+    if num_zeros <= 0:
         # cannot return w_self, in case it is a subclass of str
         return space.wrap(input)
 
@@ -764,13 +765,11 @@
     if len(input) > 0 and (input[0] == '+' or input[0] == '-'):
         builder.append(input[0])
         start = 1
-        middle = width - len(input) + 1
     else:
         start = 0
-        middle = width - len(input)
 
-    builder.append_multiple_char('0', middle - start)
-    builder.append(input[start:start + (width - middle)])
+    builder.append_multiple_char('0', num_zeros)
+    builder.append_slice(input, start, len(input))
     return space.wrap(builder.build())
 
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to