-void SVPUTBuf(const char *keyname, int keylen, StrBuf *Buf, int ref)
+void SVPUTBuf(const char *keyname, int keylen, const StrBuf *Buf, int ref)
{
wcsubst *ptr;
void *vPtr;
{
ptr = NewSubstVar(keyname, keylen, (ref)?WCS_STRBUF_REF:WCS_STRBUF);
}
- ptr->wcs_value = Buf;
+ ptr->wcs_value = (StrBuf*)Buf;
}
/**
const char *pts, *pte;
int InQuotes = 0;
int InDoubleQuotes = 0;
+
+ /** Find one <? > */
pos = (-1);
for (; pch < pE; pch ++) {
if ((*pch=='<')&&(*(pch + 1)=='?'))
if (pch >= pE)
continue;
pts = pch;
+
+ /** Found one? parse it. */
for (; pch < pE - 1; pch ++) {
if (*pch == '"')
InDoubleQuotes = ! InDoubleQuotes;
if (!GetHash(Iterators,
Tokens->Params[0]->Start,
Tokens->Params[0]->len,
- &vIt))
+ &vIt)) {
+ lprintf(1, "unknown Iterator [%s] (in line %ld); "
+ " [%s]\n",
+ Tokens->Params[0]->Start,
+ Tokens->Line,
+ ChrPtr(Tokens->FlatToken));
+ StrBufAppendPrintf(
+ Target,
+ "<pre>\nunknown Iterator [%s] (in line %ld); \n"
+ " [%s]\n</pre>",
+ Tokens->Params[0]->Start,
+ Tokens->Line,
+ ChrPtr(Tokens->FlatToken));
return;
+ }
It = (HashIterator*) vIt;
FreeStrBuf(&SubBuf);
DeleteHashPos(&it);
if (It->Destructor != NULL)
- It->Destructor(List);
+ It->Destructor(&List);
}
int ConditionalVar(WCTemplateToken *Tokens, void *Context)