author | Matthew Wild <mwild1@gmail.com> |
Wed, 01 May 2013 13:54:44 +0100 | |
branch | tls |
changeset 5556 | 7407b1160b46 |
parent 29 | b847875801e5 |
child 104 | cfbd3b849f9e |
permissions | -rw-r--r-- |
0 | 1 |
|
2 |
local match = string.match; |
|
3 |
||
4 |
module "jid" |
|
5 |
||
6 |
function split(jid) |
|
29
b847875801e5
jid.split(): Return nil when passed nil
Matthew Wild <mwild1@gmail.com>
parents:
27
diff
changeset
|
7 |
if not jid then return nil; end |
27
859b316e2fb0
Fixing jid.split() for all JIDs
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
8 |
local node = match(jid, "^([^@]+)@"); |
859b316e2fb0
Fixing jid.split() for all JIDs
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
9 |
local server = (node and match(jid, ".-@([^@/]+)")) or match(jid, "^([^@/]+)"); |
859b316e2fb0
Fixing jid.split() for all JIDs
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
10 |
local resource = match(jid, "/(.+)$"); |
859b316e2fb0
Fixing jid.split() for all JIDs
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
11 |
return node, server, resource; |
0 | 12 |
end |