]> granicus.if.org Git - ejabberd/commitdiff
Properly handle infinity as max number of message in mam offline storage
authorPaweł Chmielowski <pchmielowski@process-one.net>
Mon, 29 Apr 2019 14:37:21 +0000 (16:37 +0200)
committerPaweł Chmielowski <pchmielowski@process-one.net>
Mon, 29 Apr 2019 14:37:21 +0000 (16:37 +0200)
src/mod_offline.erl

index 2906b27179ede6e334ce381710be48ff9b47309c..ae4840c9d784058552ba022e1bdb97c3f8c20a90 100644 (file)
@@ -793,8 +793,9 @@ read_mam_messages(LUser, LServer, ReadMsgs) ->
                      ExtraMsgs;
                  _ ->
                      MaxOfflineMsgs = case get_max_user_messages(LUser, LServer) of
-                                          Number when is_integer(Number) -> Number;
-                                          _ -> 100
+                                          Number when is_integer(Number) -> Number - length(ExtraMsgs);
+                                          infinity -> undefined;
+                                          _ -> 100 - length(ExtraMsgs)
                                       end,
                      JID = jid:make(LUser, LServer, <<>>),
                      {MamMsgs, _, _} = mod_mam:select(LServer, JID, JID,