diff -r 081e920dc74e -r da468ed49a7b plugins/mod_vcard.lua --- a/plugins/mod_vcard.lua Thu Oct 09 03:40:16 2008 +0500 +++ b/plugins/mod_vcard.lua Thu Oct 09 00:50:45 2008 +0100 @@ -18,10 +18,10 @@ if to then local node, host = jid_split(to); if hosts[host] and hosts[host].type == "local" then - vCard = datamanager.load(node, host, "vCard"); -- load vCard for user or server + vCard = st.deserialize(datamanager.load(node, host, "vCard")); -- load vCard for user or server end else - vCard = datamanager.load(session.username, session.host, "vCard");-- load user's own vCard + vCard = st.deserialize(datamanager.load(session.username, session.host, "vCard"));-- load user's own vCard end if vCard then local iq = st.reply(stanza); @@ -32,7 +32,7 @@ end elseif stanza.attr.type == "set" then if not to or to == session.username.."@"..session.host then - if datamanager.store(session.username, session.host, "vCard", stanza.tags[1]) then + if datamanager.store(session.username, session.host, "vCard", st.preserialize(stanza.tags[1])) then send(session, st.reply(stanza)); else -- TODO unable to write file, file may be locked, etc, what's the correct error?