Mercurial > prosody-hg
comparison util/stanza.lua @ 2997:6ccaefea80ec
Merge with tip.
| author | Tobias Markmann <tm@ayena.de> |
|---|---|
| date | Fri, 12 Mar 2010 18:41:05 +0100 |
| parents | 7941617b15f9 |
| children | 692b3c6c5bd2 |
comparison
equal
deleted
inserted
replaced
| 2996:b0515ed4d9d7 | 2997:6ccaefea80ec |
|---|---|
| 245 if stanza then | 245 if stanza then |
| 246 local attr = stanza.attr; | 246 local attr = stanza.attr; |
| 247 for i=1,#attr do attr[i] = nil; end | 247 for i=1,#attr do attr[i] = nil; end |
| 248 local attrx = {}; | 248 local attrx = {}; |
| 249 for att in pairs(attr) do | 249 for att in pairs(attr) do |
| 250 if s_find(att, "|", 1, true) and not s_find(k, "\1", 1, true) then | 250 if s_find(att, "|", 1, true) and not s_find(att, "\1", 1, true) then |
| 251 local ns,na = s_match(k, "^([^|]+)|(.+)$"); | 251 local ns,na = s_match(att, "^([^|]+)|(.+)$"); |
| 252 attrx[ns.."\1"..na] = attr[att]; | 252 attrx[ns.."\1"..na] = attr[att]; |
| 253 attr[att] = nil; | 253 attr[att] = nil; |
| 254 end | 254 end |
| 255 end | 255 end |
| 256 for a,v in pairs(attrx) do | 256 for a,v in pairs(attrx) do |
| 257 attr[x] = v; | 257 attr[a] = v; |
| 258 end | 258 end |
| 259 setmetatable(stanza, stanza_mt); | 259 setmetatable(stanza, stanza_mt); |
| 260 for _, child in ipairs(stanza) do | 260 for _, child in ipairs(stanza) do |
| 261 if type(child) == "table" then | 261 if type(child) == "table" then |
| 262 deserialize(child); | 262 deserialize(child); |
