json: Remove ugly hack to deal with float nan, inf, -inf values.

asyncio-segfault
Paul Sokolovsky 2014-04-12 18:32:06 +03:00
rodzic 1bc138fcf3
commit a4833ed354
1 zmienionych plików z 1 dodań i 10 usunięć

Wyświetl plik

@ -1,9 +1,7 @@
"""Implementation of JSONDecoder
"""
import binascii
import re
import sys
import struct
from json import scanner
try:
@ -15,14 +13,7 @@ __all__ = ['JSONDecoder']
FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL
def _floatconstants():
_BYTES = binascii.unhexlify(b'7FF80000000000007FF0000000000000')
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):