Antoine Pitrou <pit...@free.fr> added the comment: > Ok, let's say we use ((unsigned char)((c) & 0xff)) also for > __CHAR_UNSIGNED__. > > What should the comment say about the intended argument?
That it's either in [-128; 127] or in [0; 255] ? > Index: Objects/unicodeobject.c > =================================================================== > --- Objects/unicodeobject.c (revision 82192) > +++ Objects/unicodeobject.c (working copy) > @@ -8417,6 +8417,7 @@ > else if (c >= '0' && c <= '9') { > prec = c - '0'; > while (--fmtcnt >= 0) { > + /* XXX: c and *fmt are Py_UNICODE */ > c = Py_CHARMASK(*fmt++); This is a funny bug: >>> u"%.1\u1032f" % (1./3) u'0.333333333333' > Index: Modules/_json.c > =================================================================== > --- Modules/_json.c (revision 82192) > +++ Modules/_json.c (working copy) > @@ -603,6 +603,7 @@ > } > } > else { > + /* XXX: c is Py_UNICODE */ > char c_char = Py_CHARMASK(c); This block can only be entered if c <= 0x7f (`has_unicode` is false), so it's not a problem. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9036> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com