diff options
author | Lukas Larsson <[email protected]> | 2018-01-17 16:16:13 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2018-01-17 16:16:13 +0100 |
commit | db58a0c04ca183de5e5436e0ae97e3f109a458fe (patch) | |
tree | 52e4b98f9d409656b0cda4fa695f785693c72346 /erts | |
parent | 4aa94b815f9c99c5916e9932d9823e5369a63e0c (diff) | |
parent | 919b6ddc24e409ec78380af14511ad50a88b4525 (diff) | |
download | otp-db58a0c04ca183de5e5436e0ae97e3f109a458fe.tar.gz otp-db58a0c04ca183de5e5436e0ae97e3f109a458fe.tar.bz2 otp-db58a0c04ca183de5e5436e0ae97e3f109a458fe.zip |
Merge branch 'maint'
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/big.c | 15 | ||||
-rw-r--r-- | erts/emulator/test/num_bif_SUITE.erl | 2 |
2 files changed, 11 insertions, 6 deletions
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c index 5eaf262cd8..c5cb268f09 100644 --- a/erts/emulator/beam/big.c +++ b/erts/emulator/beam/big.c @@ -2549,12 +2549,17 @@ int term_equals_2pow32(Eterm x) } } +static ERTS_INLINE int c2int_is_valid_char(byte ch, int base) { + if (base <= 10) + return (ch >= '0' && ch < ('0' + base)); + else + return (ch >= '0' && ch <= '9') + || (ch >= 'A' && ch < ('A' + base - 10)) + || (ch >= 'a' && ch < ('a' + base - 10)); +} + static ERTS_INLINE int c2int_is_invalid_char(byte ch, int base) { - return (ch < '0' - || (ch > ('0' + base - 1) - && !(base > 10 - && ((ch >= 'a' && ch < ('a' + base - 10)) - || (ch >= 'A' && ch < ('A' + base - 10)))))); + return !c2int_is_valid_char(ch, base); } static ERTS_INLINE byte c2int_digit_from_base(byte ch) { diff --git a/erts/emulator/test/num_bif_SUITE.erl b/erts/emulator/test/num_bif_SUITE.erl index 17555d63c6..7fb132c587 100644 --- a/erts/emulator/test/num_bif_SUITE.erl +++ b/erts/emulator/test/num_bif_SUITE.erl @@ -491,7 +491,7 @@ t_string_to_integer(Config) when is_list(Config) -> list_to_binary(Value),Base)), {'EXIT', {badarg, _}} = (catch erlang:list_to_integer(Value,Base)) - end,[{" 1",1},{" 1",37},{"2",2},{"C",11}, + end,[{" 1",1},{" 1",37},{"2",2},{"B",11},{"b",11},{":", 16}, {"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111z",16}, {"1z111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",16}, {"111z11111111",16}]), |