Token->Preeval2 = vIt;
It = (HashIterator *) vIt;
- if (TP->Tokens->nParameters <= It->AdditionalParams + 2) {
+ if (TP->Tokens->nParameters < It->AdditionalParams + 2) {
LogTemplateError(
NULL, "Iterator", ERR_PARM1, TP,
"doesn't work with %d params",
- TP->Tokens->nParameters - 1);
+ TP->Tokens->nParameters);
}
return;
}
- if (TP->Tokens->nParameters <= It->AdditionalParams + 2) {
+ if (TP->Tokens->nParameters < It->AdditionalParams + 2) {
LogTemplateError(
Target, "Iterator", ERR_PARM1, TP,
"doesn't work with %d params",
RegisterNamespace("SORT:ORDER", 1, 2, tmplput_SORT_ORDER, NULL, CTX_NONE);
RegisterNamespace("SORT:NEXT", 1, 2, tmplput_SORT_NEXT, NULL, CTX_NONE);
RegisterNamespace("CONTEXTSTR", 0, 1, tmplput_ContextString, NULL, CTX_STRBUF);
- RegisterNamespace("CONTEXTSTRARR", 1, 2, tmplput_ContextStringArray, NULL, CTX_STRBUF);
+ RegisterNamespace("CONTEXTSTRARR", 1, 2, tmplput_ContextStringArray, NULL, CTX_STRBUFARR);
RegisterNamespace("ITERATE", 2, 100, tmpl_iterate_subtmpl, preeval_iterate, CTX_NONE);
RegisterNamespace("DOBOXED", 1, 2, tmpl_do_boxed, NULL, CTX_NONE);
RegisterNamespace("DOTABBED", 2, 100, tmpl_do_tabbed, preeval_do_tabbed, CTX_NONE);
RegisterConditional(HKEY("COND:CONTEXTSTRARR"), 4, ConditionalContextStrinArray, CTX_STRBUFARR);
RegisterConditional(HKEY("COND:LONGVECTOR"), 4, ConditionalLongVector, CTX_LONGVECTOR);
+
RegisterControlConditional(HKEY("COND:ITERATE:ISGROUPCHANGE"), 2,
conditional_ITERATE_ISGROUPCHANGE,
CTX_ITERATE);