Fixing jid.split() for all JIDs

Sat, 27 Sep 2008 19:17:40 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 27 Sep 2008 19:17:40 +0100
changeset 27
859b316e2fb0
parent 26
23cab333d014
child 28
4a238233f278

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

mercurial