aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/io_lib_format.erl
diff options
context:
space:
mode:
authorRichard Carlsson <[email protected]>2018-03-02 14:19:34 +0100
committerRichard Carlsson <[email protected]>2018-03-02 14:19:34 +0100
commit6ff26316ffb80fbd2d7daa79986671f0e8c2db70 (patch)
treee90ff81f3d30ede2ec98a9d7256ee5c1160261f3 /lib/stdlib/src/io_lib_format.erl
parentbd5ebce131cc8a02e559b8eec2a68b089ca235a6 (diff)
downloadotp-6ff26316ffb80fbd2d7daa79986671f0e8c2db70.tar.gz
otp-6ff26316ffb80fbd2d7daa79986671f0e8c2db70.tar.bz2
otp-6ff26316ffb80fbd2d7daa79986671f0e8c2db70.zip
Make io_lib:unscan_format/1 work with pad char and default precision
Diffstat (limited to 'lib/stdlib/src/io_lib_format.erl')
-rw-r--r--lib/stdlib/src/io_lib_format.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/stdlib/src/io_lib_format.erl b/lib/stdlib/src/io_lib_format.erl
index e345810ca0..2ef4e517d8 100644
--- a/lib/stdlib/src/io_lib_format.erl
+++ b/lib/stdlib/src/io_lib_format.erl
@@ -95,7 +95,7 @@ print([]) ->
[].
print(C, F, Ad, P, Pad, Encoding, Strings) ->
- [$~] ++ print_field_width(F, Ad) ++ print_precision(P) ++
+ [$~] ++ print_field_width(F, Ad) ++ print_precision(P, Pad) ++
print_pad_char(Pad) ++ print_encoding(Encoding) ++
print_strings(Strings) ++ [C].
@@ -103,8 +103,9 @@ print_field_width(none, _Ad) -> "";
print_field_width(F, left) -> integer_to_list(-F);
print_field_width(F, right) -> integer_to_list(F).
-print_precision(none) -> "";
-print_precision(P) -> [$. | integer_to_list(P)].
+print_precision(none, $\s) -> "";
+print_precision(none, _Pad) -> "."; % pad must be second dot
+print_precision(P, _Pad) -> [$. | integer_to_list(P)].
print_pad_char($\s) -> ""; % default, no need to make explicit
print_pad_char(Pad) -> [$., Pad].