diff options
author | Kim Alvefur <zash@zash.se> | 2020-04-22 23:36:25 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-04-22 23:36:25 +0200 |
commit | d649e78d6d7e2977e6e60e26262eac1161631857 (patch) | |
tree | 0633eb8abc20ea49b4a214ca3bf88d84f665e614 /plugins | |
parent | bc0e389d47b0a40e1ea871fe4ff583746af928be (diff) | |
download | prosody-d649e78d6d7e2977e6e60e26262eac1161631857.tar.gz prosody-d649e78d6d7e2977e6e60e26262eac1161631857.zip |
mod_lastactivity: Encode seconds as decimal, not float
In Lua 5.3 difftime() takes integers as argument but returns a float,
and then tostring() serializes it with a decimal point. This violates
XEP-0012.
Like #1536
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_lastactivity.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_lastactivity.lua b/plugins/mod_lastactivity.lua index 575e66be..91d11bd2 100644 --- a/plugins/mod_lastactivity.lua +++ b/plugins/mod_lastactivity.lua @@ -30,7 +30,7 @@ module:hook("iq-get/bare/jabber:iq:last:query", function(event) if not stanza.attr.to or is_contact_subscribed(username, module.host, jid_bare(stanza.attr.from)) then local seconds, text = "0", ""; if map[username] then - seconds = tostring(os.difftime(os.time(), map[username].t)); + seconds = string.format("%d", os.difftime(os.time(), map[username].t)); text = map[username].s; end origin.send(st.reply(stanza):tag('query', {xmlns='jabber:iq:last', seconds=seconds}):text(text)); |