diff options
Diffstat (limited to 'lib/stdlib/src/erl_stdlib_errors.erl')
-rw-r--r-- | lib/stdlib/src/erl_stdlib_errors.erl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/stdlib/src/erl_stdlib_errors.erl b/lib/stdlib/src/erl_stdlib_errors.erl index 5e7f987272..7f6b1ce4ce 100644 --- a/lib/stdlib/src/erl_stdlib_errors.erl +++ b/lib/stdlib/src/erl_stdlib_errors.erl @@ -69,6 +69,25 @@ format_binary_error(encode_unsigned, [Subject], _) -> [must_be_non_neg_integer(Subject)]; format_binary_error(encode_unsigned, [Subject, Endianness], _) -> [must_be_non_neg_integer(Subject), must_be_endianness(Endianness)]; +format_binary_error(encode_hex, [Subject], _) -> + [must_be_binary(Subject)]; +format_binary_error(decode_hex, [Subject], _) -> + if + is_binary(Subject), byte_size(Subject) rem 2 == 1 -> + ["must contain an even number of bytes"]; + true -> + [must_be_binary(Subject)] + end; +format_binary_error(decode_hex_char, [Subject], _) -> + if + is_integer(Subject), + (Subject >= $a andalso Subject =< $f) orelse + (Subject >= $A andalso Subject =< $F) orelse + (Subject >= $0 andalso Subject =< $9) -> + [[]]; + true -> + [range] + end; format_binary_error(first, [Subject], _) -> [case Subject of <<>> -> empty_binary; |