]> code.citadel.org Git - citadel.git/blobdiff - webcit/subst.c
* fix CONTEXTSTRARR in the register call and the useage places.
[citadel.git] / webcit / subst.c
index 9ff94c57a4941e8a6d4bd59484016f11deb2f6e9..ec03f18c07ac0ae3bb39bfc25761c41b7ec1e46d 100644 (file)
@@ -2172,11 +2172,11 @@ int preeval_iterate(WCTemplateToken *Token)
        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);
        }
 
 
@@ -2212,7 +2212,7 @@ void tmpl_iterate_subtmpl(StrBuf *Target, WCTemplputParams *TP)
                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", 
@@ -3050,7 +3050,7 @@ InitModule_SUBST
        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);
@@ -3062,6 +3062,7 @@ InitModule_SUBST
        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);