aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/relcool.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/relcool.erl b/src/relcool.erl
index 13ef2ea..44debc9 100644
--- a/src/relcool.erl
+++ b/src/relcool.erl
@@ -83,7 +83,10 @@ opt_spec_list() ->
-spec format_error(Reason::term()) -> iolist().
format_error({invalid_return_value, Provider, Value}) ->
[rcl_provider:format(Provider), " returned an invalid value ",
- io_lib:format("~p", [Value])].
+ io_lib:format("~p", [Value])];
+format_error({error, {Module, Reason}}) ->
+ io_lib:format("~s~n", [Module:format_error(Reason)]).
+
%%============================================================================
%% internal api
@@ -136,7 +139,7 @@ run_provider(Provider, {ok, State0}) ->
{ok, State1} ->
{ok, State1};
E={error, _} ->
- report_error(State0, E)
+ E
end.
-spec usage() -> ok.
@@ -145,8 +148,8 @@ usage() ->
-spec report_error(rcl_state:t(), error()) -> none() | error().
-report_error(State, Error={error, {Module, Reason}}) ->
- io:format("~s~n", [Module:format_error(Reason)]),
+report_error(State, Error) ->
+ io:format(format_error(Error)),
usage(),
case rcl_state:caller(State) of
command_line ->