diff options
author | Kim Alvefur <zash@zash.se> | 2024-07-11 15:04:29 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2024-07-11 15:04:29 +0200 |
commit | 8a96854733732892aba66cd153e74d24f5e6bf95 (patch) | |
tree | 41bba794f8d21f0b80710986bed7e32179df5703 /teal-src/prosody/util/xtemplate.tl | |
parent | b522fd0e05988adcef50c196be786591ac038c30 (diff) | |
download | prosody-8a96854733732892aba66cd153e74d24f5e6bf95.tar.gz prosody-8a96854733732892aba66cd153e74d24f5e6bf95.zip |
util.xtemplate: Fix error on applying each() to zero stanzas
Diffstat (limited to 'teal-src/prosody/util/xtemplate.tl')
-rw-r--r-- | teal-src/prosody/util/xtemplate.tl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/teal-src/prosody/util/xtemplate.tl b/teal-src/prosody/util/xtemplate.tl index 9b6b678b..84003051 100644 --- a/teal-src/prosody/util/xtemplate.tl +++ b/teal-src/prosody/util/xtemplate.tl @@ -54,7 +54,10 @@ local function render(template : string, root : st.stanza_t, escape : escape_t, if tmpl then tmpl = s_sub(tmpl, 2, -2); end if args then args = s_sub(args, 2, -2); end - if func == "each" and tmpl and st.is_stanza(value) then + if func == "each" and tmpl then + if not st.is_stanza(value) then + return pre_blank..post_blank; + end if not args then value, args = root, path; end local ns, name = s_match(args, "^(%b{})(.*)$"); if ns then ns = s_sub(ns, 2, -2); else name, ns = args, nil; end |