}
/* Go back to the room we're supposed to be in */
- serv_printf("GOTO %s", WC->wc_roomname);
+ serv_printf("GOTO %s", ChrPtr(WC->wc_roomname));
serv_getln(buf, sizeof buf);
}
}
/** Go back to the room we're supposed to be in */
- serv_printf("GOTO %s", WC->wc_roomname);
+ serv_printf("GOTO %s", ChrPtr(WC->wc_roomname));
serv_getln(buf, sizeof buf);
}
StrBuf *pref_name, *pref_value;
pref_name = NewStrBuf ();
- StrBufPrintf(pref_name, "%s %s", key, WC->wc_roomname);
+ StrBufPrintf(pref_name, "%s %s", key, ChrPtr(WC->wc_roomname));
get_pref(pref_name, &pref_value);
FreeStrBuf(&pref_name);
return pref_value;
StrBuf *pref_name;
pref_name = NewStrBuf ();
- StrBufPrintf(pref_name, "%s %s", key, WC->wc_roomname);
+ StrBufPrintf(pref_name, "%s %s", key, ChrPtr(WC->wc_roomname));
set_PREFERENCE(ChrPtr(pref_name), StrLength(pref_name), value, save_to_server);
FreeStrBuf(&pref_name);
}
/*
* Offer to make any page the user's "start page."
*/
-void offer_start_page(StrBuf *Target, int nArgs, WCTemplateToken *Token, void *Context, int ContextType) {
+void offer_start_page(StrBuf *Target, WCTemplputParams *TP)
+{
wprintf("<a href=\"change_start_page?startpage=");
urlescputs(WC->this_page);
wprintf("\">");
wprintf("</a>");
#ifdef TECH_PREVIEW
wprintf("<br/><a href=\"rss?room=");
- urlescputs(WC->wc_roomname);
+ urlescputs(ChrPtr(WC->wc_roomname));
wprintf("\" title=\"RSS 2.0 feed for ");
- escputs(WC->wc_roomname);
+ escputs(ChrPtr(WC->wc_roomname));
wprintf("\"><img alt=\"RSS\" border=\"0\" src=\"static/xml_button.gif\"/></a>\n");
#endif
}
#define PRF_YESNO 4
-void tmplput_CFG_Value(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType)
+void tmplput_CFG_Value(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Setting;
if (get_PREFERENCE(TKEY(0), &Setting))
- StrBufAppendTemplate(Target, nArgs, Tokens, Context, ContextType, Setting, 1);
+ StrBufAppendTemplate(Target, TP, Setting, 1);
}
-void tmplput_CFG_Descr(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType)
+void tmplput_CFG_Descr(StrBuf *Target, WCTemplputParams *TP)
{
const char *SettingStr;
SettingStr = PrefGetLocalStr(TKEY(0));
}
-void CfgZoneTempl(StrBuf *TemplBuffer, void *vContext, WCTemplateToken *Token)
+void CfgZoneTempl(StrBuf *TemplBuffer, WCTemplputParams *TP)
{
- StrBuf *Zone = (StrBuf*) vContext;
+ StrBuf *Zone = (StrBuf*) CTX;
SVPutBuf("ZONENAME", Zone, 1);
}
-int ConditionalPreference(WCTemplateToken *Tokens, void *Context, int ContextType)
+int ConditionalPreference(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Pref;
if (!get_PREFERENCE(TKEY(2), &Pref))
return 0;
- if (Tokens->nParameters == 3) {
+ if (TP->Tokens->nParameters == 3) {
return 1;
}
- else if (Tokens->Params[3]->Type == TYPE_STR)
- return ((Tokens->Params[3]->len == StrLength(Pref)) &&
- (strcmp(Tokens->Params[3]->Start, ChrPtr(Pref)) == 0));
+ else if (TP->Tokens->Params[3]->Type == TYPE_STR)
+ return ((TP->Tokens->Params[3]->len == StrLength(Pref)) &&
+ (strcmp(TP->Tokens->Params[3]->Start, ChrPtr(Pref)) == 0));
else
- return (StrTol(Pref) == Tokens->Params[3]->lvalue);
+ return (StrTol(Pref) == TP->Tokens->Params[3]->lvalue);
}
-int ConditionalHazePreference(WCTemplateToken *Tokens, void *Context, int ContextType)
+int ConditionalHazePreference(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Pref;
return 1;
}
-HashList *GetGVEAHash(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType)
+HashList *GetGVEAHash(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Rcp;
HashList *List = NULL;
Rcp = NewStrBuf();
serv_puts("GVEA");
StrBuf_ServGetln(Rcp);
- if (ChrPtr(Rcp)[0] == '1') {
+ if (GetServerStatus(Rcp, NULL) == 1) {
FlushStrBuf(Rcp);
List = NewHash(1, NULL);
while (!Done && (StrBuf_ServGetln(Rcp)>=0)) {
DeleteHash(KillMe);
}
-HashList *GetGVSNHash(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType)
+HashList *GetGVSNHash(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Rcp;
HashList *List = NULL;
Rcp = NewStrBuf();
serv_puts("GVSN");
StrBuf_ServGetln(Rcp);
- if (ChrPtr(Rcp)[0] == '1') {
+ if (GetServerStatus(Rcp, NULL) == 1) {
FlushStrBuf(Rcp);
List = NewHash(1, NULL);
while (!Done && (StrBuf_ServGetln(Rcp)>=0)) {
RegisterPreference("defaultfrom", _("Preferred email address"), PRF_STRING);
RegisterPreference("defaultname", _("Preferred display name for email messages"), PRF_STRING);
RegisterPreference("defaulthandle", _("Preferred display name for bulletin board posts"), PRF_STRING);
-
+ RegisterNamespace("OFFERSTARTPAGE", 0, 0, offer_start_page, CTX_NONE);
RegisterNamespace("PREF:VALUE", 1, 2, tmplput_CFG_Value, CTX_NONE);
RegisterNamespace("PREF:DESCR", 1, 1, tmplput_CFG_Descr, CTX_NONE);
RegisterIterator("PREF:ZONE", 0, ZoneHash, NULL, CfgZoneTempl, NULL, CTX_PREF, CTX_NONE, IT_NOFLAG);