From: Paweł Chmielowski <pchmielowski@process-one.net> Date: Thu, 6 Aug 2015 15:45:19 +0000 (+0200) Subject: Handle merging of append_host_config as is done for host_config X-Git-Tag: 15.09~83 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c71d57a05dec5bf427dcd603372efc9258b1bf65;p=ejabberd Handle merging of append_host_config as is done for host_config --- diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl index a7ffac7d1..abb295a75 100644 --- a/src/ejabberd_config.erl +++ b/src/ejabberd_config.erl @@ -378,8 +378,8 @@ get_config_option_key(Name, Val) -> end. maps_to_lists(IMap) -> - maps:fold(fun(host_config, Map, Res) -> - [{host_config, [{Host, maps_to_lists(SMap)} || {Host,SMap} <- maps:values(Map)]} | Res]; + maps:fold(fun(Name, Map, Res) when Name == host_config orelse Name == append_host_config -> + [{Name, [{Host, maps_to_lists(SMap)} || {Host,SMap} <- maps:values(Map)]} | Res]; (Name, Map, Res) when is_map(Map) -> [{Name, maps:values(Map)} | Res]; (Name, Val, Res) -> @@ -391,7 +391,7 @@ merge_configs(Terms, ResMap) -> lists:foldl(fun({Name, Val}, Map) when is_list(Val) -> Old = maps:get(Name, Map, #{}), New = lists:foldl(fun(SVal, OMap) -> - NVal = if Name == host_config -> + NVal = if Name == host_config orelse Name == append_host_config -> {Host, Opts} = SVal, {_, SubMap} = maps:get(Host, OMap, {Host, #{}}), {Host, merge_configs(Opts, SubMap)};