Sat, 27 Sep 2008 19:17:40 +0100
Fixing jid.split() for all JIDs
util/jid.lua | file | annotate | diff | comparison | revisions |
--- a/util/jid.lua Wed Sep 17 21:33:05 2008 +0100 +++ b/util/jid.lua Sat Sep 27 19:17:40 2008 +0100 @@ -4,5 +4,8 @@ module "jid" function split(jid) - return match(jid, "^([^@]+)@([^/]+)/?(.*)$"); + local node = match(jid, "^([^@]+)@"); + local server = (node and match(jid, ".-@([^@/]+)")) or match(jid, "^([^@/]+)"); + local resource = match(jid, "/(.+)$"); + return node, server, resource; end