]> granicus.if.org Git - ejabberd/commitdiff
Let it crash on unspecified option
authorEvgeny Khramtsov <ekhramtsov@process-one.net>
Sun, 23 Jun 2019 13:54:01 +0000 (16:54 +0300)
committerEvgeny Khramtsov <ekhramtsov@process-one.net>
Sun, 23 Jun 2019 13:54:01 +0000 (16:54 +0300)
src/ejabberd_config.erl

index c5984544f3294d3689d8b537ad7fc148f9bf7772..87bf35b08b0778122a399a7b13586579820de849 100644 (file)
@@ -138,27 +138,21 @@ dump(Y, Output) ->
            end
     end.
 
--spec get_option(option()) -> term().
-get_option(Opt) ->
-    get_option(Opt, undefined).
-
 -spec get_option(option(), term()) -> term().
-get_option(Opt, Default) when is_atom(Opt) ->
-    get_option({Opt, global}, Default);
 get_option(Opt, Default) ->
+    try get_option(Opt)
+    catch _:badarg -> Default
+    end.
+
+-spec get_option(option()) -> term().
+get_option(Opt) when is_atom(Opt) ->
+    get_option({Opt, global});
+get_option(Opt) ->
     Tab = case get_tmp_config() of
              undefined -> ejabberd_options;
              T -> T
          end,
-    try ets:lookup_element(Tab, Opt, 2)
-    catch ?EX_RULE(Class, badarg, St) ->
-           Stack = ?EX_STACK(St),
-           ?WARNING_MSG("Attempt to read unspecified option:~n"
-                        "** Option: ~p~n"
-                        "** ~s",
-                        [Opt, misc:format_exception(2, Class, badarg, Stack)]),
-           Default
-    end.
+    ets:lookup_element(Tab, Opt, 2).
 
 -spec set_option(option(), term()) -> ok.
 set_option(Opt, Val) when is_atom(Opt) ->