From 596869f0e0a5c03773f0827938c93311468f2181 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 16 Mar 2017 17:27:27 +0000 Subject: [PATCH] Issue #182 - Misc string->number fixes --- runtime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime.c b/runtime.c index 22f8eed2..dd7ebc4f 100644 --- a/runtime.c +++ b/runtime.c @@ -1840,6 +1840,8 @@ object Cyc_string2number2_(void *data, object cont, int argc, object str, ...) result = (int)strtol(string_str(str), NULL, 2); } else if (base_num == 8) { result = (int)strtol(string_str(str), NULL, 8); + } else if (base_num == 10) { + Cyc_string2number_(data, cont, str); // Default processing } else if (base_num == 16) { result = (int)strtol(string_str(str), NULL, 16); } @@ -1849,7 +1851,7 @@ object Cyc_string2number2_(void *data, object cont, int argc, object str, ...) if (MP_OKAY != mp_read_radix(&(bignum_value(bn)), string_str(str), base_num)) { Cyc_rt_raise2(data, "Error converting string to bignum", str); } - _return_closcall1(data, cont, bn); + _return_closcall1(data, cont, Cyc_bignum_normalize(data, bn)); } else { _return_closcall1(data, cont, obj_int2obj(result)); }