Added: Roster manipulation functions to core.rostermanager
[prosody.git] / util / jid.lua
index 9d01e2afa4966f2b2676fda15415f06b678b268d..784d2b645739eb2bd62aaa55a18ef353d5dfc049 100644 (file)
@@ -4,5 +4,11 @@ local match = string.match;
 module "jid"
 
 function split(jid)
-       return match(jid, "^([^@]+)@([^/]+)/?(.*)$");
+       if not jid then return nil; end
+       local node = match(jid, "^([^@]+)@");
+       local server = (node and match(jid, ".-@([^@/]+)")) or match(jid, "^([^@/]+)");
+       local resource = match(jid, "/(.+)$");
+       return node, server, resource;
 end
+
+return _M;
\ No newline at end of file