if (SCM_UNBNDP (radix))
radix = SCM_MAKINUM (10L);
else
- SCM_ASSERT (SCM_INUMP (radix), radix, SCM_ARG2, s_string_to_number);
+ {
+ SCM_ASSERT (SCM_INUMP (radix), radix, SCM_ARG2, s_string_to_number);
+ SCM_ASSERT (SCM_INUM (radix) >= 2, radix, SCM_OUTOFRANGE,
+ s_number_to_string);
+ }
SCM_ASSERT (SCM_NIMP (str) && SCM_ROSTRINGP (str),
str, SCM_ARG1, s_string_to_number);
answer = scm_istring2number (SCM_ROCHARS (str),