From 1fe28a7aef1ab047f63b8e53d746e5afda47865a Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Mon, 30 Apr 2018 12:36:17 +0800 Subject: [PATCH] Update merge_opts/2 function --- src/emqx_misc.erl | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/emqx_misc.erl b/src/emqx_misc.erl index 27c18f8c3..b61a06c60 100644 --- a/src/emqx_misc.erl +++ b/src/emqx_misc.erl @@ -23,17 +23,11 @@ -spec(merge_opts(list(), list()) -> list()). merge_opts(Defaults, Options) -> lists:foldl( - fun({Opt, Val}, Acc) -> - case lists:keymember(Opt, 1, Acc) of - true -> lists:keyreplace(Opt, 1, Acc, {Opt, Val}); - false -> [{Opt, Val}|Acc] - end; - (Opt, Acc) -> - case lists:member(Opt, Acc) of - true -> Acc; - false -> [Opt | Acc] - end - end, Defaults, Options). + fun({Opt, Val}, Acc) -> + lists:keystore(Opt, 1, Acc, {Opt, Val}); + (Opt, Acc) -> + lists:usort([Opt | Acc]) + end, Defaults, Options). -spec(start_timer(integer(), term()) -> reference()). start_timer(Interval, Msg) ->