]> code.citadel.org Git - citadel.git/blobdiff - webcit/subst.c
* NeedNewBuf() as CLANG indicates, this parameter should have a name
[citadel.git] / webcit / subst.c
index af37b2098df251c8be4aab1a243a987fe9d217df..c12b6590832156be1ee31611d45b6dba4679cd10 100644 (file)
@@ -136,7 +136,6 @@ const char *ContextName(int ContextType)
 void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplputParams *TP, const char *Format, ...)
 {
        wcsession *WCC;
-       StrBuf *Header;
        StrBuf *Error;
        StrBuf *Info;
         va_list arg_ptr;
@@ -192,7 +191,7 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu
                return; 
        }
 
-       Header = NewStrBuf();
+       if (WCC->WFBuf == NULL) WCC->WFBuf = NewStrBuf();
        if (TP->Tokens != NULL) 
        {
                /* deprecated: 
@@ -213,7 +212,7 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu
                             ChrPtr(TP->Tokens->FlatToken));
 
 
-               SerializeJson(Header, WildFireException(SKEY(TP->Tokens->FileName),
+               SerializeJson(WCC->WFBuf, WildFireException(SKEY(TP->Tokens->FileName),
                                                        TP->Tokens->Line,
                                                        Info,
                                                        1), 1);
@@ -223,7 +222,7 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu
                                                      Error,
                                                      eERROR), 1);
 */
-               WildFireSerializePayload(Header, WCC->HBuf, &WCC->Hdr->nWildfireHeaders, NULL);
+               
        }
        else
        {
@@ -239,10 +238,8 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu
                             Err, 
                             ChrPtr(Error), 
                             ChrPtr(TP->Tokens->FlatToken));
-               SerializeJson(Header, WildFireException(HKEY(__FILE__), __LINE__, Info, 1), 1);
-               WildFireSerializePayload(Header, WCC->HBuf, &WCC->Hdr->nWildfireHeaders, NULL);
+               SerializeJson(WCC->WFBuf, WildFireException(HKEY(__FILE__), __LINE__, Info, 1), 1);
        }
-       FreeStrBuf(&Header);
        FreeStrBuf(&Info);
        FreeStrBuf(&Error);
 /*
@@ -257,7 +254,6 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu
 void LogError (StrBuf *Target, const char *Type, const char *Format, ...)
 {
        wcsession *WCC;
-       StrBuf *Header;
        StrBuf *Error;
        StrBuf *Info;
         va_list arg_ptr;
@@ -272,16 +268,13 @@ void LogError (StrBuf *Target, const char *Type, const char *Format, ...)
        lprintf(1, ChrPtr(Error));
 
        WCC = WC;
-       Header = NewStrBuf();
+       if (WCC->WFBuf == NULL) WCC->WFBuf = NewStrBuf();
 
+       SerializeJson(WCC->WFBuf, WildFireException(Type, strlen(Type),
+                                                   0,
+                                                   Info,
+                                                   1), 1);
 
-       SerializeJson(Header, WildFireException(Type, strlen(Type),
-                                               0,
-                                               Info,
-                                               1), 1);
-       WildFireSerializePayload(Header, WCC->HBuf, &WCC->Hdr->nWildfireHeaders, NULL);
-       
-       FreeStrBuf(&Header);
        FreeStrBuf(&Info);
        FreeStrBuf(&Error);
 /*
@@ -455,7 +448,7 @@ void clear_local_substs(void) {
        clear_substs (WC);
 }
 
-int NeedNewBuf(type)
+int NeedNewBuf(int type)
 {
        switch(type) {
        case WCS_STRING:
@@ -3067,8 +3060,8 @@ InitModule_SUBST
        RegisterControlNS(HKEY("ITERATE:KEY"), 0, 0, tmplput_ITERATE_KEY, CTX_ITERATE);
        RegisterControlNS(HKEY("ITERATE:N"), 0, 0, tmplput_ITERATE_LASTN, CTX_ITERATE);
        RegisterNamespace("CURRENTFILE", 0, 1, tmplput_CURRENT_FILE, NULL, CTX_NONE);
-       RegisterNamespace("DEF:STR", 0, 0, tmplput_DefStr, NULL, CTX_NONE);
-       RegisterNamespace("DEF:VAL", 0, 0, tmplput_DefVal, NULL, CTX_NONE);
+       RegisterNamespace("DEF:STR", 1, 1, tmplput_DefStr, NULL, CTX_NONE);
+       RegisterNamespace("DEF:VAL", 1, 1, tmplput_DefVal, NULL, CTX_NONE);
 
 
 
@@ -3134,6 +3127,7 @@ SessionDetachModule_SUBST
 (wcsession *sess)
 {
        DeleteHash(&sess->vars);
+       FreeStrBuf(&sess->WFBuf);
 }
 
 void