diff options
author | Bruce Yinhe <bruce@erlang.org> | 2014-07-07 11:34:04 +0200 |
---|---|---|
committer | Bruce Yinhe <bruce@erlang.org> | 2014-07-07 11:34:31 +0200 |
commit | 4a1ffc3b3666436a92532e242bde9f5b67902469 (patch) | |
tree | 4741c5a0c5f0e3ffab994125889030da59b807d3 /lib | |
parent | 98c5cdbe60b6d743ad461b651a586c6f3a502ba9 (diff) | |
parent | a10a7979887403ea61c30155cef18aa7324420a6 (diff) | |
download | otp-4a1ffc3b3666436a92532e242bde9f5b67902469.tar.gz otp-4a1ffc3b3666436a92532e242bde9f5b67902469.tar.bz2 otp-4a1ffc3b3666436a92532e242bde9f5b67902469.zip |
Merge branch 'nox/io_lib_format-width-too-small' into maint
* nox/io_lib_format-width-too-small:
Properly handle fields too short in io_lib_format
OTP-12041
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stdlib/src/io_lib_format.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/io_SUITE.erl | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/lib/stdlib/src/io_lib_format.erl b/lib/stdlib/src/io_lib_format.erl index 56e15a17ec..89ae6fb187 100644 --- a/lib/stdlib/src/io_lib_format.erl +++ b/lib/stdlib/src/io_lib_format.erl @@ -255,7 +255,7 @@ term(T, none, _Adj, none, _Pad) -> T; term(T, none, Adj, P, Pad) -> term(T, P, Adj, P, Pad); term(T, F, Adj, P0, Pad) -> L = lists:flatlength(T), - P = case P0 of none -> erlang:min(L, F); _ -> P0 end, + P = erlang:min(L, case P0 of none -> F; _ -> min(P0, F) end), if L > P -> adjust(chars($*, P), chars(Pad, F-P), Adj); diff --git a/lib/stdlib/test/io_SUITE.erl b/lib/stdlib/test/io_SUITE.erl index 5a8971c071..3a76275f31 100644 --- a/lib/stdlib/test/io_SUITE.erl +++ b/lib/stdlib/test/io_SUITE.erl @@ -30,7 +30,7 @@ io_fread_newlines/1, otp_8989/1, io_lib_fread_literal/1, printable_range/1, io_lib_print_binary_depth_one/1, otp_10302/1, otp_10755/1, - otp_10836/1]). + otp_10836/1, io_lib_width_too_small/1]). -export([pretty/2]). @@ -69,7 +69,8 @@ all() -> io_lib_collect_line_3_wb, cr_whitespace_in_string, io_fread_newlines, otp_8989, io_lib_fread_literal, printable_range, - io_lib_print_binary_depth_one, otp_10302, otp_10755, otp_10836]. + io_lib_print_binary_depth_one, otp_10302, otp_10755, otp_10836, + io_lib_width_too_small]. groups() -> []. @@ -2213,3 +2214,8 @@ compile_file(File, Text, Config) -> try compile:file(Fname, [return]) after ok %file:delete(Fname) end. + +io_lib_width_too_small(Config) -> + "**" = lists:flatten(io_lib:format("~2.3w", [3.14])), + "**" = lists:flatten(io_lib:format("~2.5w", [3.14])), + ok. |