diff options
author | Badlop <badlop@process-one.net> | 2019-03-18 17:08:53 +0100 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2019-03-18 17:11:00 +0100 |
commit | 6545d554730ed57cd393b92d83d2b8d1b9dc060b (patch) | |
tree | 369e0fc2bd05a5e9a822a57254e7993f36c9852b | |
parent | Origin header validation on websocket connection (#2821) (diff) |
Fix crash in mod_muc_admin:web_page_main/2 caused by just_created (#2830)
-rw-r--r-- | src/mod_muc_admin.erl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl index f033ce165..d7122afbe 100644 --- a/src/mod_muc_admin.erl +++ b/src/mod_muc_admin.erl @@ -590,9 +590,16 @@ prepare_room_info(Room_info) -> misc:atom_to_binary(Public), misc:atom_to_binary(Persistent), misc:atom_to_binary(Logging), - misc:atom_to_binary(Just_created), + justcreated_to_binary(Just_created), Title]. +justcreated_to_binary(J) when is_integer(J) -> + JNow = misc:usec_to_now(J), + {{Year, Month, Day}, {Hour, Minute, Second}} = calendar:now_to_local_time(JNow), + str:format("~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w", + [Year, Month, Day, Hour, Minute, Second]); +justcreated_to_binary(J) when is_atom(J) -> + misc:atom_to_binary(J). %%---------------------------- %% Create/Delete Room @@ -814,13 +821,12 @@ decide_room(unused, {_Room_name, _Host, Room_pid}, ServerHost, Last_allowed) -> History = (S#state.history)#lqueue.queue, Ts_now = calendar:universal_time(), HistorySize = gen_mod:get_module_opt(ServerHost, mod_muc, history_size), - JustCreated = S#state.just_created, {Has_hist, Last} = case p1_queue:is_empty(History) of - true when (HistorySize == 0) or (JustCreated == true) -> + true when (HistorySize == 0) or (Just_created == true) -> {false, 0}; true -> Ts_diff = (erlang:system_time(microsecond) - - S#state.just_created) div 1000000, + - Just_created) div 1000000, {false, Ts_diff}; false -> Last_message = get_queue_last(History), |