diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl index 37d5e622fd1..7d55ce33e86 100644 --- a/src/ejabberd_admin.erl +++ b/src/ejabberd_admin.erl @@ -746,7 +746,7 @@ update_module(ModuleNameString) -> case ejabberd_update:update([ModuleName]) of {ok, []} -> {ok, "Not updated: "++ModuleNameString}; - {ok, [{ModuleName, _}]} -> + {ok, [ModuleName]} -> {ok, "Updated: "++ModuleNameString}; {error, Reason} -> {error, Reason} end. diff --git a/src/ejabberd_update.erl b/src/ejabberd_update.erl index c9cbd906e55..17f4717dc89 100644 --- a/src/ejabberd_update.erl +++ b/src/ejabberd_update.erl @@ -38,13 +38,17 @@ %% Update all the modified modules update() -> case update_info() of - {ok, Dir, _UpdatedBeams, _Script, LowLevelScript, _Check} -> - Eval = - eval_script( - LowLevelScript, [], - [{ejabberd, "", filename:join(Dir, "..")}]), - ?DEBUG("Eval: ~p~n", [Eval]), - Eval; + {ok, Dir, UpdatedBeams, _Script, LowLevelScript, _Check} -> + case eval_script( + LowLevelScript, [], + [{ejabberd, "", filename:join(Dir, "..")}]) of + {ok, _} -> + ?DEBUG("Updated: ~p~n", [UpdatedBeams]), + {ok, UpdatedBeams}; + Eval -> + ?DEBUG("Eval: ~p~n", [Eval]), + Eval + end; {error, Reason} -> {error, Reason} end. @@ -56,12 +60,16 @@ update(ModulesToUpdate) -> UpdatedBeamsNow = [A || A <- UpdatedBeamsAll, B <- ModulesToUpdate, A == B], {_, LowLevelScript, _} = build_script(Dir, UpdatedBeamsNow), - Eval = - eval_script( - LowLevelScript, [], - [{ejabberd, "", filename:join(Dir, "..")}]), - ?DEBUG("Eval: ~p~n", [Eval]), - Eval; + case eval_script( + LowLevelScript, [], + [{ejabberd, "", filename:join(Dir, "..")}]) of + {ok, _} -> + ?DEBUG("Updated: ~p~n", [UpdatedBeamsNow]), + {ok, UpdatedBeamsNow}; + Eval -> + ?DEBUG("Eval: ~p~n", [Eval]), + Eval + end; {error, Reason} -> {error, Reason} end.