diff options
author | Hans Bolinder <[email protected]> | 2019-05-28 09:38:07 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2019-05-29 13:13:28 +0200 |
commit | 8bdcb96c3c33afd7f85fc2953970b6709f04a74a (patch) | |
tree | b3a850cea49d095c5684c94a96bc0156c417bf4b | |
parent | 7fe7fa3dde556b5b92522f8279d465bb52baf1f6 (diff) | |
download | otp-8bdcb96c3c33afd7f85fc2953970b6709f04a74a.tar.gz otp-8bdcb96c3c33afd7f85fc2953970b6709f04a74a.tar.bz2 otp-8bdcb96c3c33afd7f85fc2953970b6709f04a74a.zip |
stdlib: Fix a bug concerning io_lib option 'chars_limit'
See also https://bugs.erlang.org/browse/ERL-957.
-rw-r--r-- | lib/stdlib/src/io_lib_pretty.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/io_SUITE.erl | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/stdlib/src/io_lib_pretty.erl b/lib/stdlib/src/io_lib_pretty.erl index 8f2fd7ea8f..ffc02febdc 100644 --- a/lib/stdlib/src/io_lib_pretty.erl +++ b/lib/stdlib/src/io_lib_pretty.erl @@ -795,6 +795,8 @@ printable_bin0(Bin, D, T, Enc) -> end, printable_bin(Bin, Len, D, Enc). +printable_bin(_Bin, 0, _D, _Enc) -> + false; printable_bin(Bin, Len, D, latin1) -> N = erlang:min(20, Len), L = binary_to_list(Bin, 1, N), diff --git a/lib/stdlib/test/io_SUITE.erl b/lib/stdlib/test/io_SUITE.erl index 824f5d19f2..7796da66b8 100644 --- a/lib/stdlib/test/io_SUITE.erl +++ b/lib/stdlib/test/io_SUITE.erl @@ -32,7 +32,7 @@ io_with_huge_message_queue/1, format_string/1, maps/1, coverage/1, otp_14178_unicode_atoms/1, otp_14175/1, otp_14285/1, limit_term/1, otp_14983/1, otp_15103/1, otp_15076/1, - otp_15159/1, otp_15639/1]). + otp_15159/1, otp_15639/1, otp_15847/1]). -export([pretty/2, trf/3]). @@ -65,7 +65,7 @@ all() -> io_lib_width_too_small, io_with_huge_message_queue, format_string, maps, coverage, otp_14178_unicode_atoms, otp_14175, otp_14285, limit_term, otp_14983, otp_15103, otp_15076, otp_15159, - otp_15639]. + otp_15639, otp_15847]. %% Error cases for output. error_1(Config) when is_list(Config) -> @@ -2680,3 +2680,9 @@ otp_15639(_Config) -> "\"12345678\"..." = pretty("123456789"++[x], UOpts), "[[...]|...]" = pretty(["1","2","3","4","5","6","7","8"], UOpts), ok. + +otp_15847(_Config) -> + T = {someRecord,<<"1234567890">>,some,more}, + "{someRecord,<<...>>,...}" = + pretty(T, [{chars_limit,20}, {encoding,latin1}]), + ok. |