aboutsummaryrefslogtreecommitdiffstats
path: root/core/xmlhandlers.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2009-04-23 21:06:51 +0100
committerMatthew Wild <mwild1@gmail.com>2009-04-23 21:06:51 +0100
commit2e3907bc3e56c60f947ebda858c632e9a5110943 (patch)
treeb441067f58db864cb5cc070e8ba08d6f45b2e45c /core/xmlhandlers.lua
parent3ab59e41d362ca0f1e30f18763ad9522359f6b0b (diff)
parentc2e552a434eda3c9616d51f055bb459bbf561816 (diff)
downloadprosody-2e3907bc3e56c60f947ebda858c632e9a5110943.tar.gz
prosody-2e3907bc3e56c60f947ebda858c632e9a5110943.zip
Automated merge with http://waqas.ath.cx:8000/
Diffstat (limited to 'core/xmlhandlers.lua')
-rw-r--r--core/xmlhandlers.lua11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/xmlhandlers.lua b/core/xmlhandlers.lua
index 67a0829d..7e09921c 100644
--- a/core/xmlhandlers.lua
+++ b/core/xmlhandlers.lua
@@ -57,7 +57,11 @@ function init_xmlhandlers(session, stream_callbacks)
stanza:text(t_concat(chardata));
chardata = {};
end
- local curr_ns,name = tagname:match("^(.+)|([^%|]+)$");
+ local curr_ns,name = tagname:match("^(.-)|?([^%|]-)$");
+ if not name then
+ curr_ns, name = "", curr_ns;
+ end
+
if curr_ns ~= stream_default_ns then
attr.xmlns = curr_ns;
end
@@ -109,7 +113,10 @@ function init_xmlhandlers(session, stream_callbacks)
end
end
function xml_handlers:EndElement(tagname)
- curr_ns,name = tagname:match("^(.+)|([^%|]+)$");
+ curr_ns,name = tagname:match("^(.-)|?([^%|]-)$");
+ if not name then
+ curr_ns, name = "", curr_ns;
+ end
if (not stanza) or (#stanza.last_add > 0 and name ~= stanza.last_add[#stanza.last_add].name) then
if tagname == stream_tag then
if cb_streamclosed then