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)};