Software /
code /
prosody
Changeset
91:6d66eb6b24cb
Fixed: util.stanza.deserialize now handles nil stanzas
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Thu, 09 Oct 2008 22:19:35 +0500 |
parents | 90:da468ed49a7b |
children | 92:0261260cf9a7 |
files | util/stanza.lua |
diffstat | 1 files changed, 13 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/util/stanza.lua Thu Oct 09 00:50:45 2008 +0100 +++ b/util/stanza.lua Thu Oct 09 22:19:35 2008 +0500 @@ -122,21 +122,23 @@ function deserialize(stanza) -- Set metatable - setmetatable(stanza, stanza_mt); - for _, child in ipairs(stanza) do - if type(child) == "table" then - deserialize(child); - end - end - if not stanza.tags then - -- Rebuild tags - local tags = {}; + if stanza then + setmetatable(stanza, stanza_mt); for _, child in ipairs(stanza) do if type(child) == "table" then - t_insert(tags, child); + deserialize(child); end end - stanza.tags = tags; + if not stanza.tags then + -- Rebuild tags + local tags = {}; + for _, child in ipairs(stanza) do + if type(child) == "table" then + t_insert(tags, child); + end + end + stanza.tags = tags; + end end return stanza;