diff options
Diffstat (limited to 'src/gen_mod.erl')
-rw-r--r-- | src/gen_mod.erl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gen_mod.erl b/src/gen_mod.erl index 7ba6db182..eed3e4405 100644 --- a/src/gen_mod.erl +++ b/src/gen_mod.erl @@ -107,6 +107,23 @@ get_opt(Opt, Opts, Default) -> Val end. +get_module_opt(global, Module, Opt, Default) -> + Hosts = ?MYHOSTS, + [Value | Values] = lists:map( + fun(Host) -> + get_module_opt(Host, Module, Opt, Default) + end, + Hosts), + Same_all = lists:all( + fun(Other_value) -> + Other_value == Value + end, + Values), + case Same_all of + true -> Value; + false -> Default + end; + get_module_opt(Host, Module, Opt, Default) -> OptsList = ets:lookup(ejabberd_modules, {Module, Host}), case OptsList of |