Index: Lib/string.py =================================================================== RCS file: /projects/cvsroot/python/dist/src/Lib/string.py,v retrieving revision 1.41 retrieving revision 1.42 diff -c -r1.41 -r1.42 *** string.py 1998/03/30 17:22:30 1.41 --- string.py 1998/04/20 14:01:00 1.42 *************** *** 326,348 **** return r # "Safe" environment for eval() ! safe_env = {"__builtins__": {}} # Convert string to float ! re = None def atof(str): """atof(s) -> float Return the floating point number represented by the string s. """ ! global re ! if re is None: # Don't fail if re doesn't exist -- just skip the syntax check try: import re except ImportError: ! re = 0 sign = '' s = strip(str) if s and s[0] in '+-': --- 326,350 ---- return r # "Safe" environment for eval() ! _safe_env = {"__builtins__": {}} # Convert string to float ! _re = None def atof(str): """atof(s) -> float Return the floating point number represented by the string s. """ ! global _re ! if _re is None: # Don't fail if re doesn't exist -- just skip the syntax check try: import re except ImportError: ! _re = 0 ! else: ! _re = re sign = '' s = strip(str) if s and s[0] in '+-': *************** *** 351,360 **** if not s: raise ValueError, 'non-float argument to string.atof' while s[0] == '0' and len(s) > 1 and s[1] in digits: s = s[1:] ! if re and not re.match('[0-9]*(\.[0-9]*)?([eE][-+]?[0-9]+)?$', s): raise ValueError, 'non-float argument to string.atof' try: ! return float(eval(sign + s, safe_env)) except SyntaxError: raise ValueError, 'non-float argument to string.atof' --- 353,362 ---- if not s: raise ValueError, 'non-float argument to string.atof' while s[0] == '0' and len(s) > 1 and s[1] in digits: s = s[1:] ! if _re and not _re.match('[0-9]*(\.[0-9]*)?([eE][-+]?[0-9]+)?$', s): raise ValueError, 'non-float argument to string.atof' try: ! return float(eval(sign + s, _safe_env)) except SyntaxError: raise ValueError, 'non-float argument to string.atof' *************** *** 384,390 **** for c in s: if c not in digits: raise ValueError, 'non-integer argument to string.atoi' ! return eval(sign + s, safe_env) # Convert string to long integer def atol(str, base=10): --- 386,392 ---- for c in s: if c not in digits: raise ValueError, 'non-integer argument to string.atoi' ! return eval(sign + s, _safe_env) # Convert string to long integer def atol(str, base=10): *************** *** 413,419 **** for c in s: if c not in digits: raise ValueError, 'non-integer argument to string.atol' ! return eval(sign + s + 'L', safe_env) # Left-justify a string def ljust(s, width): --- 415,421 ---- for c in s: if c not in digits: raise ValueError, 'non-integer argument to string.atol' ! return eval(sign + s + 'L', _safe_env) # Left-justify a string def ljust(s, width):