void tmplput_CFG_RoomValueLong(StrBuf *Target, WCTemplputParams *TP)
{
long lvalue;
- long defval;
+ long defval = 0;
- defval = GetTemplateTokenNumber(Target, TP, 1, 0);
+ if (TP->Tokens->nParameters > 1)
+ defval = GetTemplateTokenNumber(Target, TP, 1, 0);
get_ROOM_PREFS_LONG(TKEY(0), &lvalue, defval);
StrBufAppendPrintf(Target, "%ld", lvalue);
}
StrBuf *Buf;
WCTemplputParams SubTP;
- if (TP->Tokens->nParameters < N) {
+ if (N >= TP->Tokens->nParameters) {
LogTemplateError(Target,
"TokenParameter", N, TP,
"invalid token %d. this shouldn't have come till here.\n", N);
long GetTemplateTokenNumber(StrBuf *Target, WCTemplputParams *TP, int N, long dflt)
{
long Ret;
- if (TP->Tokens->nParameters < N) {
+ if (N >= TP->Tokens->nParameters) {
LogTemplateError(Target,
"TokenParameter", N, TP,
"invalid token %d. this shouldn't have come till here.\n", N);
return 0;
}
+
+void tmplput_CURRENT_FILE(StrBuf *Target, WCTemplputParams *TP)
+{
+ StrBufAppendTemplate(Target, TP, TP->Tokens->FileName, 0);
+}
+
void
InitModule_SUBST
(void)
RegisterControlNS(HKEY("ITERATE:ODDEVEN"), 0, 0, tmplput_ITERATE_ODDEVEN, CTX_ITERATE);
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);
+
+
}
void