- }
- else if (GetHash(GlobalNS, Token->pName, Token->NameEnd, &vVar)) {
- HashHandler *Handler;
- Handler = (HashHandler*) vVar;
- if ((Token->nParameters < Handler->nMinArgs) ||
- (Token->nParameters > Handler->nMaxArgs)) {
- lprintf(1, "Handler [%s] doesn't work with %ld params",
- Token->pName,
- Token->nParameters);
+ break;
+ case SV_SUBTEMPL:
+ if (Token->nParameters == 1)
+ DoTemplate(Token->Params[0]->Start, Token->Params[0]->len, NULL, NULL);
+ break;
+ default:
+ if (GetHash(GlobalNS, Token->pName, Token->NameEnd, &vVar)) {
+ HashHandler *Handler;
+ Handler = (HashHandler*) vVar;
+ if ((Token->nParameters < Handler->nMinArgs) ||
+ (Token->nParameters > Handler->nMaxArgs)) {
+ lprintf(1, "Handler [%s] doesn't work with %ld params",
+ Token->pName,
+ Token->nParameters);
+ }
+ else {
+ Handler->HandlerFunc(Target,
+ Token->nParameters,
+ Token,
+ Context); /*TODO: subset of that */
+
+
+ }