105 disco_items = self.disco.nodes[node]; |
105 disco_items = self.disco.nodes[node]; |
106 if not disco_items then |
106 if not disco_items then |
107 disco_items = { features = {}, items = {} }; |
107 disco_items = { features = {}, items = {} }; |
108 self.disco.nodes[node] = disco_items; |
108 self.disco.nodes[node] = disco_items; |
109 disco_items = disco_items.items; |
109 disco_items = disco_items.items; |
|
110 else |
|
111 disco_items = disco_items.items; |
110 end |
112 end |
111 end |
113 end |
112 table.insert(disco_items, item); |
114 table.insert(disco_items, item); |
113 end |
115 end |
114 |
116 |
196 if not self.disco.cache[jid] then |
198 if not self.disco.cache[jid] then |
197 self.disco.cache[jid] = { nodes = {} }; |
199 self.disco.cache[jid] = { nodes = {} }; |
198 end |
200 end |
199 |
201 |
200 if node then |
202 if node then |
201 if not self.disco.cache.nodes[node] then |
203 if not self.disco.cache[jid].nodes[node] then |
202 self.disco.cache.nodes[node] = { nodes = {} }; |
204 self.disco.cache[jid].nodes[node] = { nodes = {} }; |
203 end |
205 end |
204 self.disco.cache[jid].nodes[node].identities = identities; |
206 self.disco.cache[jid].nodes[node].identities = identities; |
205 self.disco.cache[jid].nodes[node].features = features; |
207 self.disco.cache[jid].nodes[node].features = features; |
206 else |
208 else |
207 self.disco.cache[jid].identities = identities; |
209 self.disco.cache[jid].identities = identities; |