summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-10-09 15:24:28 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-10-09 15:24:28 (GMT)
commit5b0e9e84e9833337f791d5bc74f823a16681924b (patch)
tree75b543991e2dd0922e0e3ea79bbdeebbdd640a6e
parent8382d0fe2e86e56b3c206524d712851b8973c918 (diff)
downloadcpython-5b0e9e84e9833337f791d5bc74f823a16681924b.zip
cpython-5b0e9e84e9833337f791d5bc74f823a16681924b.tar.gz
cpython-5b0e9e84e9833337f791d5bc74f823a16681924b.tar.bz2
Issue #10055: Make json C89-compliant in UCS4 mode.
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_json.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index ac731c5..94f0d86 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -346,6 +346,8 @@ Tests
Build
-----
+- Issue #10055: Make json C89-compliant in UCS4 mode.
+
- Issue #9552: Avoid unnecessary rebuild of OpenSSL. (Windows)
- Issue #1633863: Don't ignore $CC under AIX.
diff --git a/Modules/_json.c b/Modules/_json.c
index bbaf7dd..dd9749b 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -440,8 +440,8 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
end += 6;
/* Decode 4 hex digits */
for (; next < end; next++) {
- c2 <<= 4;
Py_UNICODE digit = buf[next];
+ c2 <<= 4;
switch (digit) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':