* lread.c (read_integer): Be more consistent with string-to-number.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 May 2011 02:58:08 +0000 (19:58 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 May 2011 02:58:08 +0000 (19:58 -0700)
commita108c10b7ae69e5f782c83be925c168e007874fb
tree0dde94f78ed514445cae11fa159c95ccb7822865
parentad5f9eeaa2f0f872e063849f8f0d24d2c200acfa
* lread.c (read_integer): Be more consistent with string-to-number.

Use string_to_number to do the actual conversion; this avoids
rounding errors and fixes some other screwups.  Without this fix,
for example, #x1fffffffffffffff was misread as -2305843009213693952.
(digit_to_number): Move earlier, for benefit of read_integer.
Return -1 if the digit is out of range for the base, -2 if it is
not a digit in any supported base.
src/ChangeLog
src/lread.c