objint_longlong: Don't assert on invalid syntax, raise SyntaxError instead.

This commit is contained in:
Paul Sokolovsky 2014-02-18 00:21:11 +02:00
parent 517e1706bd
commit 4d0588df56
1 changed files with 3 additions and 1 deletions

View File

@ -148,7 +148,9 @@ mp_obj_t mp_obj_new_int_from_long_str(const char *s) {
char *end;
// TODO: this doesn't handle Python hacked 0o octal syntax
v = strtoll(s, &end, 0);
assert(*end == 0);
if (*end != 0) {
nlr_jump(mp_obj_new_exception_msg(&mp_type_SyntaxError, "invalid syntax for number"));
}
mp_obj_int_t *o = m_new_obj(mp_obj_int_t);
o->base.type = &int_type;
o->val = v;