diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-12-01 16:52:00 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-12-01 16:52:00 -0800 |
commit | 57c258b48499c98dc316e14973e5c88a4986f7d7 (patch) | |
tree | 264a88220b3bd975fd72c6615c989a48525b1649 /lib.c | |
parent | 91adf830df344b712b08b47f8c7dbbb88f278fba (diff) | |
download | txr-57c258b48499c98dc316e14973e5c88a4986f7d7.tar.gz txr-57c258b48499c98dc316e14973e5c88a4986f7d7.tar.bz2 txr-57c258b48499c98dc316e14973e5c88a4986f7d7.zip |
* lib.c (int_str): Return nil rather than 0 if no digits are extracted
at all.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1393,9 +1393,12 @@ val string_lt(val astr, val bstr) val int_str(val str, val base) { const wchar_t *wcs = c_str(str); + wchar_t *ptr; cnum b = c_num(base); /* TODO: detect if we have wcstoll */ - long val = wcstol(wcs, 0, b); + long val = wcstol(wcs, &ptr, b); + if (val == 0 && ptr == wcs) + return nil; numeric_assert (val >= NUM_MIN && val <= NUM_MAX); return num(val); } |