Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-14 16:58:39 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-14 16:58:39 +0300
commit9e2e590061c41c1fa8d4ea5d8f4149162dc41c51 (patch)
treeef687a23a6457135c4524a5b2b766889ca3610a1
parent377748b688f2138106cb126ec3decfbb547caa7c (diff)
Fix exception formatting on old Erlang
-rw-r--r--rebar.config1
-rw-r--r--src/misc.erl10
2 files changed, 11 insertions, 0 deletions
diff --git a/rebar.config b/rebar.config
index 4798f20f6..5fb25a029 100644
--- a/rebar.config
+++ b/rebar.config
@@ -96,6 +96,7 @@
{if_var_true, elixir, {d, 'ELIXIR_ENABLED'}},
{if_var_true, new_sql_schema, {d, 'NEW_SQL_SCHEMA'}},
{if_var_true, hipe, native},
+ {if_have_fun, {erl_error, format_exception, 6}, {d, 'HAVE_ERL_ERROR'}},
{src_dirs, [src,
{if_var_true, tools, tools},
{if_var_true, elixir, include}]}]}.
diff --git a/src/misc.erl b/src/misc.erl
index 0ebcbef78..16e4122b5 100644
--- a/src/misc.erl
+++ b/src/misc.erl
@@ -482,6 +482,7 @@ peach(Fun, [_,_|_] = List) ->
peach(Fun, List) ->
lists:foreach(Fun, List).
+-ifdef(HAVE_ERL_ERROR).
format_exception(Level, Class, Reason, Stacktrace) ->
erl_error:format_exception(
Level, Class, Reason, Stacktrace,
@@ -489,6 +490,15 @@ format_exception(Level, Class, Reason, Stacktrace) ->
fun(Term, I) ->
io_lib:print(Term, I, 80, -1)
end).
+-else.
+format_exception(Level, Class, Reason, Stacktrace) ->
+ lib:format_exception(
+ Level, Class, Reason, Stacktrace,
+ fun(_M, _F, _A) -> false end,
+ fun(Term, I) ->
+ io_lib:print(Term, I, 80, -1)
+ end).
+-endif.
-spec parse_ip_mask(binary()) -> {ok, {inet:ip4_address(), 0..32}} |
{ok, {inet:ip6_address(), 0..128}} |