Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0815-Fix-logger-improper-list-report.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0815-Fix-logger-improper-list-report.patch of Package erlang
From dad66d89d4b5a6a2b57ceba7ef413f7455fdc407 Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas@erlang.org> Date: Mon, 20 Dec 2021 17:37:23 +0100 Subject: [PATCH] Fix logger improper list report --- lib/kernel/src/logger.erl | 21 ++++++++++++--------- lib/kernel/test/logger_SUITE.erl | 4 ++++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/kernel/src/logger.erl b/lib/kernel/src/logger.erl index b109414742..1f8e300dd9 100644 --- a/lib/kernel/src/logger.erl +++ b/lib/kernel/src/logger.erl @@ -318,8 +318,8 @@ format_otp_report(Report) -> FormatArgs :: {io:format(),[term()]}. format_report(Report) when is_map(Report) -> format_report(maps:to_list(Report)); -format_report(Report) when is_list(Report) -> - case lists:flatten(Report) of +format_report(Report) -> + try lists:flatten(Report) of [] -> {"~tp",[[]]}; FlatList -> @@ -329,9 +329,9 @@ format_report(Report) when is_list(Report) -> false -> format_term_list(Report,[],[]) end - end; -format_report(Report) -> - {"~tp",[Report]}. + catch _:_ -> + {"~tp",[Report]} + end. format_term_list([{Tag,Data}|T],Format,Args) -> PorS = case string_p(Data) of @@ -344,10 +344,13 @@ format_term_list([Data|T],Format,Args) -> format_term_list([],Format,Args) -> {lists:flatten(lists:join($\n,lists:reverse(Format))),lists:reverse(Args)}. -string_p(List) when is_list(List) -> - string_p1(lists:flatten(List)); -string_p(_) -> - false. +string_p(List) -> + try lists:flatten(List) of + FlatList -> + string_p1(FlatList) + catch _:_ -> + false + end. string_p1([]) -> false; diff --git a/lib/kernel/test/logger_SUITE.erl b/lib/kernel/test/logger_SUITE.erl index 99f695a949..f9ae51ae40 100644 --- a/lib/kernel/test/logger_SUITE.erl +++ b/lib/kernel/test/logger_SUITE.erl @@ -496,9 +496,13 @@ cache_module_level(cleanup,_Config) -> format_report(_Config) -> {"~ts",["string"]} = logger:format_report("string"), + {"~tp",["strin"++$g]} = + logger:format_report("strin"++$g), %% improper list {"~tp",[term]} = logger:format_report(term), {"~tp",[[]]} = logger:format_report([]), {" ~tp: ~tp",[key,value]} = logger:format_report([{key,value}]), + {" ~tp: ~tp",[key,"strin"++$g]} = + logger:format_report([{key,"strin"++$g}]), %% improper list KeyVals = [{key1,value1},{key2,"value2"},{key3,[]}], KeyValRes = {" ~tp: ~tp\n ~tp: ~ts\n ~tp: ~tp", -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor