diff options
| author | Christian Heimes <christian@cheimes.de> | 2008-05-06 16:18:41 +0000 |
|---|---|---|
| committer | Christian Heimes <christian@cheimes.de> | 2008-05-06 16:18:41 +0000 |
| commit | c8a0d2f368401adefcf39c672c74e2cfee1c32b0 (patch) | |
| tree | 1fb89928ace7330e0bb14ea00fcdbe6962f63636 | |
| parent | 8e4997390ccb92f889ac709c9a45e589472bdee2 (diff) | |
| download | cpython-git-c8a0d2f368401adefcf39c672c74e2cfee1c32b0.tar.gz | |
Intern static string
Use float constructors instead of magic code for float constants
| -rw-r--r-- | Lib/json/decoder.py | 12 | ||||
| -rw-r--r-- | Modules/_json.c | 2 |
2 files changed, 2 insertions, 12 deletions
diff --git a/Lib/json/decoder.py b/Lib/json/decoder.py index acaee251f3..e80b93541b 100644 --- a/Lib/json/decoder.py +++ b/Lib/json/decoder.py @@ -14,17 +14,7 @@ __all__ = ['JSONDecoder'] FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL - -def _floatconstants(): - import struct - import sys - _BYTES = '7FF80000000000007FF0000000000000'.decode('hex') - if sys.byteorder != 'big': - _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1] - nan, inf = struct.unpack('dd', _BYTES) - return nan, inf, -inf - -NaN, PosInf, NegInf = _floatconstants() +NaN, PosInf, NegInf = float('nan'), float('inf'), float('-inf') def linecol(doc, pos): diff --git a/Modules/_json.c b/Modules/_json.c index deee1e3d7a..ea6d66f60c 100644 --- a/Modules/_json.c +++ b/Modules/_json.c @@ -215,7 +215,7 @@ join_list_unicode(PyObject *lst) ustr = PyUnicode_FromUnicode(&c, 0); } if (joinstr == NULL) { - joinstr = PyString_FromString("join"); + joinstr = PyString_InternFromString("join"); } if (joinstr == NULL || ustr == NULL) { return NULL; |
