From 7ba6fae67cd3ba845e9d07dbc562d49fe108550d Mon Sep 17 00:00:00 2001 From: Christophe Romain Date: Sat, 17 Mar 2018 10:55:14 +0100 Subject: [PATCH] =?UTF-8?q?Improve=20result=20of=20XEP-0060=20=C2=A76.5.9.?= =?UTF-8?q?12=20(#2288)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moving get_item result control to keep item-not-found on transaction error when node does not exists --- src/mod_pubsub.erl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index eb5ee8ccb..666ea41ee 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -1999,8 +1999,12 @@ get_items(Host, Node, From, SubId, _MaxItems, ItemIds, RSM) -> Host, From, Owners, AccessModel, AllowedGroups), case ItemIds of [ItemId] -> - node_call(Host, Type, get_item, - [Nidx, ItemId, From, AccessModel, PS, RG, undefined]); + case node_call(Host, Type, get_item, + [Nidx, ItemId, From, AccessModel, PS, RG, undefined]) + of + {error, _} -> {result, {[], undefined}}; + Result -> Result + end; _ -> node_call(Host, Type, get_items, [Nidx, From, AccessModel, PS, RG, SubId, RSM]) @@ -2026,10 +2030,8 @@ get_items(Host, Node, From, SubId, _MaxItems, ItemIds, RSM) -> {result, #pubsub{items = #ps_items{node = Node, items = itemsEls([Item])}}}; - _ -> - {result, - #pubsub{items = #ps_items{node = Node, - items = itemsEls([])}}} + Error -> + Error end. get_items(Host, Node) ->