From fd8a2e2de4775b74e9f62c4ab6637a63511e075c Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 28 Jun 2018 01:46:28 +0200 Subject: mod_pubsub: Handle optional item (thanks jonasw) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ‘item’ argument is optional, so it needs to handle it not being included, or util.stanza will throw an error in add_child --- plugins/mod_pubsub/mod_pubsub.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'plugins/mod_pubsub/mod_pubsub.lua') diff --git a/plugins/mod_pubsub/mod_pubsub.lua b/plugins/mod_pubsub/mod_pubsub.lua index 707f2f8e..82c787aa 100644 --- a/plugins/mod_pubsub/mod_pubsub.lua +++ b/plugins/mod_pubsub/mod_pubsub.lua @@ -55,10 +55,13 @@ function simple_broadcast(kind, node, jids, item, actor, node_obj) local message = st.message({ from = module.host, type = msg_type, id = id }) :tag("event", { xmlns = xmlns_pubsub_event }) :tag(kind, { node = node }) - :add_child(item); + + if item then + message:add_child(item); + end -- Compose a sensible textual representation of at least Atom payloads - if node_obj and node_obj.config.include_body and item.tags[1] then + if node_obj and item and node_obj.config.include_body and item.tags[1] then local payload = item.tags[1]; if payload.attr.xmlns == "http://www.w3.org/2005/Atom" then message:reset(); -- cgit v1.2.3