diff Objects/stringobject.c @ 17947:5d894a5fce38 2.1

Backport MAL's checkin 2.105: Fix for bug #417030: "print '%*s' fails for unicode string"
author Thomas Wouters <thomas@python.org>
date Wed, 23 May 2001 13:14:24 +0000
parents e1816f649ff8
children a429da7db706
line wrap: on
line diff
--- a/Objects/stringobject.c	Wed May 23 13:03:13 2001 +0000
+++ b/Objects/stringobject.c	Wed May 23 13:14:24 2001 +0000
@@ -2779,6 +2779,7 @@
 			int len;
 			char formatbuf[FORMATBUFLEN]; /* For format{float,int,char}() */
 			char *fmt_start = fmt;
+			int argidx_start = argidx;
 			
 			fmt++;
 			if (*fmt == '(') {
@@ -2932,6 +2933,7 @@
   			case 'r':
 				if (PyUnicode_Check(v)) {
 					fmt = fmt_start;
+					argidx = argidx_start;
 					goto unicode;
 				}
 				if (c == 's')
@@ -3096,8 +3098,7 @@
 		Py_DECREF(args);
 		args_owned = 0;
 	}
-	/* Fiddle args right (remove the first argidx-1 arguments) */
-	--argidx;
+	/* Fiddle args right (remove the first argidx arguments) */
 	if (PyTuple_Check(orig_args) && argidx > 0) {
 		PyObject *v;
 		int n = PyTuple_GET_SIZE(orig_args) - argidx;