diff options
Diffstat (limited to 'py/strtonum.c')
-rw-r--r-- | py/strtonum.c | 72 |
1 files changed, 1 insertions, 71 deletions
diff --git a/py/strtonum.c b/py/strtonum.c index d322f6d8d5..109ea1123b 100644 --- a/py/strtonum.c +++ b/py/strtonum.c @@ -2,9 +2,7 @@ #include <ctype.h> #include <errno.h> -#include <stdio.h> #include <stdlib.h> -#include <string.h> #include "misc.h" #include "mpconfig.h" @@ -21,8 +19,7 @@ long strtonum(const char *restrict s, int base) { // check radix base if ((base != 0 && base < 2) || base > 36) { - printf("ValueError: int() arg 2 must be >=2 and <= 36\n"); - return 0; + nlr_jump(mp_obj_new_exception_msg(MP_QSTR_ValueError, "ValueError: int() arg 2 must be >=2 and <= 36")); } // skip surrounded whitespace while (isspace((c = *(p++)))); @@ -87,75 +84,8 @@ done: value_error: nlr_jump(mp_obj_new_exception_msg_2_args(MP_QSTR_ValueError, "invalid literal for int() with base %d: '%s'", (void*)(machine_uint_t)base, s)); - //printf("invalid literal for int() with base %d: '%s'\n", base, s); - //return 0; } -/* -int main(void) { - printf(" 0 %ld\n", strtonum("0", 0)); - printf(" 1 %ld\n", strtonum("1", 0)); - printf(" 1 %ld\n", strtonum("+1", 0)); - printf(" -1 %ld\n", strtonum("-1", 0)); - printf(" 0 %ld\n", strtonum("+0", 0)); - printf(" 0 %ld\n", strtonum("-0", 0)); - printf(" 1 %ld\n", strtonum("01", 0)); - printf(" 9 %ld\n", strtonum("9", 0)); - printf(" 10 %ld\n", strtonum("10", 0)); - printf(" 10 %ld\n", strtonum("+10", 0)); - printf("-10 %ld\n", strtonum("-10", 0)); - printf(" 12 %ld\n", strtonum("12", 0)); - printf("-12 %ld\n", strtonum("-12", 0)); - printf(" 99 %ld\n", strtonum("99", 0)); - printf("100 %ld\n", strtonum("100", 0)); - printf("314 %ld\n", strtonum("314", 0)); - printf("314 %ld\n", strtonum(" 314", 0)); - printf("314 %ld\n", strtonum("314 ", 0)); - printf("314 %ld\n", strtonum(" \t\t 314 \t\t ", 0)); - printf(" 1 %ld\n", strtonum(" 1 ", 0)); - printf(" -3 %ld\n", strtonum(" -3 ", 0)); - printf(" 83 %ld\n", strtonum("0o123", 0)); - printf(" 18 %ld\n", strtonum("0x12", 0)); - printf(" 10 %ld\n", strtonum("0o12", 0)); - printf(" 10 %ld\n", strtonum("0o12", 0)); - printf(" 10 %ld\n", strtonum(" \t 0o12", 0)); - printf(" 10 %ld\n", strtonum("0o12 \t ", 0)); - printf(" 10 %ld\n", strtonum("0O12", 0)); - printf(" 5 %ld\n", strtonum("0b101", 0)); - printf(" 5 %ld\n", strtonum("0b101", 0)); - - printf(" 0 %ld\n", strtonum("0", 10)); - printf(" 1 %ld\n", strtonum("1", 10)); - printf(" 1 %ld\n", strtonum(" \t 1 \t ", 10)); - printf(" 11 %ld\n", strtonum("11", 10)); - printf(" 17 %ld\n", strtonum("11", 16)); - printf(" 9 %ld\n", strtonum("11", 8)); - printf(" 3 %ld\n", strtonum("11", 2)); - printf(" 37 %ld\n", strtonum("11", 36)); - printf("4294967296 %ld\n", strtonum("4294967296", 0)); - - printf("%ld\n", strtonum("x", 0)); - printf("%ld\n", strtonum("1x", 0)); - printf("%ld\n", strtonum(" 1x", 0)); - printf("%ld\n", strtonum(" 1\02 ", 0)); - printf("%ld\n", strtonum("", 0)); - printf("%ld\n", strtonum(" ", 0)); - printf("%ld\n", strtonum(" \t\t ", 0)); - printf("%ld\n", strtonum("0x", 0)); - printf("%ld\n", strtonum("0x", 16)); - printf("%ld\n", strtonum("0o", 0)); - printf("%ld\n", strtonum("0o", 8)); - printf("%ld\n", strtonum("0b", 0)); - printf("%ld\n", strtonum("0b", 2)); - printf("%ld\n", strtonum("0b2", 2)); - printf("%ld\n", strtonum("0o8", 8)); - printf("%ld\n", strtonum("0xg", 16)); - - printf("%ld\n", strtonum("1 1", 0)); - printf("%ld\n", strtonum("18446744073709551616", 0)); -} -*/ - #else /* defined(UNIX) */ long strtonum(const char *restrict s, int base) { |