Merge 0.10->trunk
[prosody.git] / util / jid.lua
index 76155ac70f81d7118693ab6f8bfe8d7116196b20..522fb126747439aea5add0853db74f35643fc014 100644 (file)
@@ -8,6 +8,7 @@
 
 
 
+local select = select;
 local match, sub = string.match, string.sub;
 local nodeprep = require "util.encodings".stringprep.nodeprep;
 local nameprep = require "util.encodings".stringprep.nameprep;
@@ -93,6 +94,18 @@ local function compare(jid, acl)
        return false
 end
 
+local function node(jid)
+       return (select(1, split(jid)));
+end
+
+local function host(jid)
+       return (select(2, split(jid)));
+end
+
+local function resource(jid)
+       return (select(3, split(jid)));
+end
+
 local function escape(s) return s and (s:gsub(".", escapes)); end
 local function unescape(s) return s and (s:gsub("\\%x%x", unescapes)); end
 
@@ -103,6 +116,9 @@ return {
        join = join;
        prep = prep;
        compare = compare;
+       node = node;
+       host = host;
+       resource = resource;
        escape = escape;
        unescape = unescape;
 };