+
/*
* Manage user preferences with a little help from the Citadel server.
*
StrBuf *DeQPed;
} Preference;
-void DestroyPrefDef(void *vPrefDef)
-{
- PrefDef *Prefdef = (PrefDef*) vPrefDef;
+void DestroyPrefDef(void *vPrefDef) {
+ PrefDef *Prefdef = (PrefDef *) vPrefDef;
FreeStrBuf(&Prefdef->Setting);
FreeStrBuf(&Prefdef->OnLoadName);
free(Prefdef);
}
-void DestroyPreference(void *vPref)
-{
- Preference *Pref = (Preference*) vPref;
+void DestroyPreference(void *vPref) {
+ Preference *Pref = (Preference *) vPref;
FreeStrBuf(&Pref->Key);
FreeStrBuf(&Pref->Val);
FreeStrBuf(&Pref->DeQPed);
}
-void _RegisterPreference(const char *Setting, long SettingLen,
- const char *PrefStr,
- ePrefType Type,
- PrefEvalFunc OnLoad,
- const char *OnLoadName)
-{
- PrefDef *Newpref = (PrefDef*) malloc(sizeof(PrefDef));
+void _RegisterPreference(const char *Setting, long SettingLen,
+ const char *PrefStr, ePrefType Type, PrefEvalFunc OnLoad, const char *OnLoadName) {
+ PrefDef *Newpref = (PrefDef *) malloc(sizeof(PrefDef));
Newpref->Setting = NewStrBufPlain(Setting, SettingLen);
Newpref->PrefStr = PrefStr;
Newpref->eType = Type;
Put(PreferenceHooks, Setting, SettingLen, Newpref, DestroyPrefDef);
}
-const char *PrefGetLocalStr(const char *Setting, long len)
-{
+const char *PrefGetLocalStr(const char *Setting, long len) {
void *hash_value;
if (GetHash(PreferenceHooks, Setting, len, &hash_value) != 0) {
- PrefDef *Newpref = (PrefDef*) hash_value;
+ PrefDef *Newpref = (PrefDef *) hash_value;
return _(Newpref->PrefStr);
}
}
#ifdef DBG_PREFS_HASH
-inline const char *PrintPref(void *vPref)
-{
- Preference *Pref = (Preference*) vPref;
+inline const char *PrintPref(void *vPref) {
+ Preference *Pref = (Preference *) vPref;
if (Pref->DeQPed != NULL)
return ChrPtr(Pref->DeQPed);
- else
+ else
return ChrPtr(Pref->Val);
}
#endif
-void GetPrefTypes(HashList *List)
-{
+void GetPrefTypes(HashList * List) {
HashPos *It;
long len;
const char *Key;
PrefDef *PrefType;
It = GetNewHashPos(List, 0);
- while (GetNextHashPos(List, It, &len, &Key, &vSetting))
- {
- Pref = (Preference*) vSetting;
- if (GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) &&
- (vPrefDef != NULL))
- {
- PrefType = (PrefDef*) vPrefDef;
+ while (GetNextHashPos(List, It, &len, &Key, &vSetting)) {
+ Pref = (Preference *) vSetting;
+ if (GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) && (vPrefDef != NULL)) {
+ PrefType = (PrefDef *) vPrefDef;
Pref->Type = PrefType;
Pref->eFlatPrefType = Pref->Type->eType;
syslog(LOG_DEBUG, "Loading [%s]with type [%d] [\"%s\"]\n",
- ChrPtr(Pref->Key),
- Pref->Type->eType,
- ChrPtr(Pref->Val));
+ ChrPtr(Pref->Key), Pref->Type->eType, ChrPtr(Pref->Val));
- switch (Pref->Type->eType)
- {
- case PRF_UNSET: /* WHUT? */
+ switch (Pref->Type->eType) {
+ case PRF_UNSET: /* WHUT? */
break;
case PRF_STRING:
break;
break;
}
- if (PrefType->OnLoad != NULL){
+ if (PrefType->OnLoad != NULL) {
syslog(LOG_DEBUG, "Loading with: -> %s(\"%s\", %ld)\n",
- ChrPtr(PrefType->OnLoadName),
- ChrPtr(Pref->Val),
- Pref->lval);
+ ChrPtr(PrefType->OnLoadName), ChrPtr(Pref->Val), Pref->lval);
PrefType->OnLoad(Pref->Val, Pref->lval);
}
}
DeleteHashPos(&It);
}
-void ParsePref(HashList **List, StrBuf *ReadBuf)
-{
+void ParsePref(HashList ** List, StrBuf * ReadBuf) {
int Done = 0;
Preference *Data = NULL;
Preference *LastData = NULL;
-
+
while (!Done) {
if (StrBuf_ServGetln(ReadBuf) < 0)
break;
- if ( (StrLength(ReadBuf)==3) &&
- !strcmp(ChrPtr(ReadBuf), "000")) {
+ if ((StrLength(ReadBuf) == 3) && !strcmp(ChrPtr(ReadBuf), "000")) {
Done = 1;
break;
}
- if ((ChrPtr(ReadBuf)[0] == ' ') &&
- (LastData != NULL)) {
+ if ((ChrPtr(ReadBuf)[0] == ' ') && (LastData != NULL)) {
StrBufAppendBuf(LastData->Val, ReadBuf, 1);
}
else {
/* some users might still have this start page configured, which now breaks */
- if ( (!strcasecmp(ChrPtr(Data->Key), "startpage"))
- && (!strcasecmp(ChrPtr(Data->Val), "/do_template?template=summary_page"))
- ) {
+ if ((!strcasecmp(ChrPtr(Data->Key), "startpage"))
+ && (!strcasecmp(ChrPtr(Data->Val), "/do_template?template=summary_page"))
+ ) {
FreeStrBuf(&Data->Val);
Data->Val = NewStrBufPlain(HKEY("/summary"));
}
/******************* END VILE SLEAZY HACK ************************/
- if (!IsEmptyStr(ChrPtr(Data->Key)))
- {
- Put(*List,
- SKEY(Data->Key),
- Data,
- DestroyPreference);
+ if (!IsEmptyStr(ChrPtr(Data->Key))) {
+ Put(*List, SKEY(Data->Key), Data, DestroyPreference);
}
- else
- {
+ else {
StrBufTrim(ReadBuf);
- syslog(LOG_INFO, "ignoring spurious preference line: [%s]\n",
- ChrPtr(ReadBuf));
+ syslog(LOG_INFO, "ignoring spurious preference line: [%s]\n", ChrPtr(ReadBuf));
DestroyPreference(Data);
LastData = NULL;
}
/*
* display preferences dialog
*/
-void load_preferences(void)
-{
+void load_preferences(void) {
folder Room;
wcsession *WCC = WC;
int Done = 0;
StrBuf *ReadBuf;
long msgnum = 0L;
-
+
memset(&Room, 0, sizeof(folder));
ReadBuf = NewStrBufPlain(NULL, SIZ * 4);
if (goto_config_room(ReadBuf, &Room) != 0) {
FreeStrBuf(&ReadBuf);
FlushFolder(&Room);
- return; /* oh well. */
+ return; /* oh well. */
}
serv_puts("MSGS ALL|0|1");
serv_puts("000");
}
while (!Done && (StrBuf_ServGetln(ReadBuf) >= 0)) {
- if ( (StrLength(ReadBuf)==3) && !strcmp(ChrPtr(ReadBuf), "000")) {
+ if ((StrLength(ReadBuf) == 3) && !strcmp(ChrPtr(ReadBuf), "000")) {
Done = 1;
break;
}
serv_printf("MSG0 %ld", msgnum);
StrBuf_ServGetln(ReadBuf);
if (GetServerStatus(ReadBuf, NULL) == 1) {
- while ( (StrBuf_ServGetln(ReadBuf) >= 0)
- && (strcmp(ChrPtr(ReadBuf), "text")
- && strcmp(ChrPtr(ReadBuf), "000"))
- ) {
+ while ((StrBuf_ServGetln(ReadBuf) >= 0)
+ && (strcmp(ChrPtr(ReadBuf), "text")
+ && strcmp(ChrPtr(ReadBuf), "000"))
+ ) {
/* flush */
}
if (!strcmp(ChrPtr(ReadBuf), "text")) {
* Go to the user's configuration room, creating it if necessary.
* returns 0 on success or nonzero upon failure.
*/
-int goto_config_room(StrBuf *Buf, folder *Room)
-{
+int goto_config_room(StrBuf * Buf, folder * Room) {
serv_printf("GOTO %s", USERCONFIGROOM);
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) != 2) { /* try to create the config room if not there */
serv_printf("GOTO %s", USERCONFIGROOM);
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) != 2) {
- return(1);
+ return (1);
}
}
ParseGoto(Room, Buf);
- return(0);
+ return (0);
}
-void WritePrefsToServer(HashList *Hash)
-{
+void WritePrefsToServer(HashList * Hash) {
wcsession *WCC = WC;
long len;
HashPos *HashPos;
const char *Key;
Preference *Pref;
StrBuf *SubBuf = NULL;
-
+
Hash = WCC->hash_prefs;
#ifdef DBG_PREFS_HASH
dbg_PrintHash(Hash, PrintPref, NULL);
#endif
HashPos = GetNewHashPos(Hash, 0);
- while (GetNextHashPos(Hash, HashPos, &len, &Key, &vPref)!=0)
- {
+ while (GetNextHashPos(Hash, HashPos, &len, &Key, &vPref) != 0) {
size_t nchars;
if (vPref == NULL)
continue;
- Pref = (Preference*) vPref;
+ Pref = (Preference *) vPref;
nchars = StrLength(Pref->Val);
- if (nchars > 80){
+ if (nchars > 80) {
int n = 0;
size_t offset, nchars;
if (SubBuf == NULL)
while (nchars > 0) {
if (n == 0)
nchars = 70;
- else
+ else
nchars = 80;
-
+
nchars = StrBufSub(SubBuf, Pref->Val, offset, nchars);
-
+
if (n == 0) {
serv_printf("%s|%s", ChrPtr(Pref->Key), ChrPtr(SubBuf));
}
else {
serv_printf(" %s", ChrPtr(SubBuf));
}
-
+
offset += nchars;
nchars = StrLength(Pref->Val) - offset;
n++;
}
-
+
}
else {
serv_printf("%s|%s", ChrPtr(Pref->Key), ChrPtr(Pref->Val));
}
-
+
}
FreeStrBuf(&SubBuf);
DeleteHashPos(&HashPos);
/*
* save the modifications
*/
-void save_preferences(void)
-{
+void save_preferences(void) {
folder Room;
wcsession *WCC = WC;
int Done = 0;
StrBuf *ReadBuf;
long msgnum = 0L;
-
+
ReadBuf = NewStrBuf();
memset(&Room, 0, sizeof(folder));
if (goto_config_room(ReadBuf, &Room) != 0) {
FreeStrBuf(&ReadBuf);
FlushFolder(&Room);
- return; /* oh well. */
+ return; /* oh well. */
}
/* make shure the config room has the right type, else it might reject our config */
else if (goto_config_room(ReadBuf, &Room) != 0) {
FreeStrBuf(&ReadBuf);
FlushFolder(&Room);
-
+
return; /* oh well. */
}
}
serv_puts("000");
}
while (!Done && (StrBuf_ServGetln(ReadBuf) >= 0)) {
- if ( (StrLength(ReadBuf)==3) && !strcmp(ChrPtr(ReadBuf), "000")) {
+ if ((StrLength(ReadBuf) == 3) && !strcmp(ChrPtr(ReadBuf), "000")) {
Done = 1;
break;
}
* value StrBuf-value to the key to get
* returns: found?
*/
-int get_pref_backend(const char *key, size_t keylen, Preference **Pref)
-{
+int get_pref_backend(const char *key, size_t keylen, Preference ** Pref) {
void *hash_value = NULL;
#ifdef DBG_PREFS_HASH
dbg_PrintHash(WC->hash_prefs, PrintPref, NULL);
return 0;
}
else {
- *Pref = (Preference*) hash_value;
+ *Pref = (Preference *) hash_value;
return 1;
}
}
-int get_PREFERENCE(const char *key, size_t keylen, StrBuf **value)
-{
+int get_PREFERENCE(const char *key, size_t keylen, StrBuf ** value) {
Preference *Pref;
int Ret;
* value value to set
* save_to_server 1 = flush all data to the server, 0 = cache it for now
*/
-long compare_preference(const Preference *PrefA, const Preference *PrefB)
-{
+long compare_preference(const Preference * PrefA, const Preference * PrefB) {
ePrefType TypeA, TypeB;
if (PrefA->Type != NULL) {
TypeB = PrefB->eFlatPrefType;
}
- if ( (TypeA != PRF_UNSET)
- && (TypeB != PRF_UNSET)
- && (TypeA != TypeB)
- ) {
+ if ((TypeA != PRF_UNSET)
+ && (TypeB != PRF_UNSET)
+ && (TypeA != TypeB)
+ ) {
if (TypeA > TypeB) {
return 1;
}
- else { /* (PrefA->Type < PrefB->Type) */
+ else { /* (PrefA->Type < PrefB->Type) */
return -1;
}
}
if (TypeB == PRF_UNSET) {
TypeA = PRF_UNSET;
}
-
- switch (TypeA)
- {
+
+ switch (TypeA) {
default:
case PRF_UNSET:
case PRF_STRING:
else
return -1;
case PRF_QP_STRING:
- return strcmp(ChrPtr(PrefA->DeQPed),
- ChrPtr(PrefB->DeQPed));
+ return strcmp(ChrPtr(PrefA->DeQPed), ChrPtr(PrefB->DeQPed));
}
}
* value value to set
* save_to_server 1 = flush all data to the server, 0 = cache it for now
*/
-void set_preference_backend(const char *key, size_t keylen,
- long lvalue,
- StrBuf *value,
- long lPrefType,
- int save_to_server,
- PrefDef *PrefType)
-{
+void set_preference_backend(const char *key, size_t keylen,
+ long lvalue, StrBuf * value, long lPrefType, int save_to_server, PrefDef * PrefType) {
wcsession *WCC = WC;
void *vPrefDef;
void *vPrefB;
Preference *Pref;
- Pref = (Preference*) malloc(sizeof(Preference));
+ Pref = (Preference *) malloc(sizeof(Preference));
memset(Pref, 0, sizeof(Preference));
Pref->Key = NewStrBufPlain(key, keylen);
- if ((PrefType == NULL) &&
- GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) &&
- (vPrefDef != NULL))
- PrefType = (PrefDef*) vPrefDef;
+ if ((PrefType == NULL) && GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) && (vPrefDef != NULL))
+ PrefType = (PrefDef *) vPrefDef;
- if (PrefType != NULL)
- {
+ if (PrefType != NULL) {
Pref->Type = PrefType;
Pref->eFlatPrefType = PrefType->eType;
if (Pref->Type->eType != lPrefType)
syslog(LOG_WARNING, "warning: saving preference with wrong type [%s] %d != %ld \n",
- key, Pref->Type->eType, lPrefType);
- switch (Pref->Type->eType)
- {
- case PRF_UNSET: /* default to string... */
+ key, Pref->Type->eType, lPrefType);
+ switch (Pref->Type->eType) {
+ case PRF_UNSET: /* default to string... */
case PRF_STRING:
Pref->Val = value;
Pref->decoded = 1;
break;
case PRF_YESNO:
Pref->lval = lvalue;
- if (lvalue)
+ if (lvalue)
Pref->Val = NewStrBufPlain(HKEY("yes"));
else
Pref->Val = NewStrBufPlain(HKEY("no"));
}
else {
Pref->eFlatPrefType = lPrefType;
- switch (lPrefType)
- {
+ switch (lPrefType) {
case PRF_STRING:
Pref->Val = value;
Pref->decoded = 1;
break;
case PRF_YESNO:
Pref->lval = lvalue;
- if (lvalue)
+ if (lvalue)
Pref->Val = NewStrBufPlain(HKEY("yes"));
else
Pref->Val = NewStrBufPlain(HKEY("no"));
}
}
- if ((save_to_server != 0) &&
- GetHash(WCC->hash_prefs, key, keylen, &vPrefB) &&
- (vPrefB != NULL) &&
- (compare_preference (Pref, vPrefB) == 0))
+ if ((save_to_server != 0) &&
+ GetHash(WCC->hash_prefs, key, keylen, &vPrefB) && (vPrefB != NULL) && (compare_preference(Pref, vPrefB) == 0))
save_to_server = 0;
Put(WCC->hash_prefs, key, keylen, Pref, DestroyPreference);
-
- if (save_to_server) WCC->SavePrefsToServer = 1;
+
+ if (save_to_server)
+ WCC->SavePrefsToServer = 1;
}
-void set_PREFERENCE(const char *key, size_t keylen, StrBuf *value, int save_to_server)
-{
+void set_PREFERENCE(const char *key, size_t keylen, StrBuf * value, int save_to_server) {
set_preference_backend(key, keylen, 0, value, PRF_STRING, save_to_server, NULL);
}
-int get_PREF_LONG(const char *key, size_t keylen, long *value, long Default)
-{
+int get_PREF_LONG(const char *key, size_t keylen, long *value, long Default) {
Preference *Pref;
int Ret;
}
-void set_PREF_LONG(const char *key, size_t keylen, long value, int save_to_server)
-{
+void set_PREF_LONG(const char *key, size_t keylen, long value, int save_to_server) {
set_preference_backend(key, keylen, value, NULL, PRF_INT, save_to_server, NULL);
}
-int get_PREF_YESNO(const char *key, size_t keylen, int *value, int Default)
-{
+int get_PREF_YESNO(const char *key, size_t keylen, int *value, int Default) {
Preference *Pref;
int Ret;
return Ret;
}
-void set_PREF_YESNO(const char *key, size_t keylen, long value, int save_to_server)
-{
+void set_PREF_YESNO(const char *key, size_t keylen, long value, int save_to_server) {
set_preference_backend(key, keylen, value, NULL, PRF_YESNO, save_to_server, NULL);
}
-int get_room_prefs_backend(const char *key, size_t keylen,
- Preference **Pref)
-{
+int get_room_prefs_backend(const char *key, size_t keylen, Preference ** Pref) {
StrBuf *pref_name;
int Ret;
- pref_name = NewStrBufPlain (HKEY("ROOM:"));
+ pref_name = NewStrBufPlain(HKEY("ROOM:"));
StrBufAppendBuf(pref_name, WC->CurRoom.name, 0);
StrBufAppendBufPlain(pref_name, HKEY(":"), 0);
StrBufAppendBufPlain(pref_name, key, keylen, 0);
return Ret;
}
-const StrBuf *get_X_PREFS(const char *key, size_t keylen,
- const char *xkey, size_t xkeylen)
-{
+const StrBuf *get_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen) {
int ret;
StrBuf *pref_name;
Preference *Prf;
-
- pref_name = NewStrBufPlain (HKEY("XPREF:"));
+
+ pref_name = NewStrBufPlain(HKEY("XPREF:"));
StrBufAppendBufPlain(pref_name, xkey, xkeylen, 0);
StrBufAppendBufPlain(pref_name, HKEY(":"), 0);
StrBufAppendBufPlain(pref_name, key, keylen, 0);
if (ret)
return Prf->Val;
- else return NULL;
+ else
+ return NULL;
}
-void set_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen, StrBuf *value, int save_to_server)
-{
+void set_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen, StrBuf * value, int save_to_server) {
StrBuf *pref_name;
-
- pref_name = NewStrBufPlain (HKEY("XPREF:"));
+
+ pref_name = NewStrBufPlain(HKEY("XPREF:"));
StrBufAppendBufPlain(pref_name, xkey, xkeylen, 0);
StrBufAppendBufPlain(pref_name, HKEY(":"), 0);
StrBufAppendBufPlain(pref_name, key, keylen, 0);
}
-long get_ROOM_PREFS_LONG(const char *key, size_t keylen, long *value, long Default)
-{
+long get_ROOM_PREFS_LONG(const char *key, size_t keylen, long *value, long Default) {
Preference *Pref;
int Ret;
}
-StrBuf *get_ROOM_PREFS(const char *key, size_t keylen)
-{
+StrBuf *get_ROOM_PREFS(const char *key, size_t keylen) {
Preference *Pref;
int Ret;
if (Ret == 0) {
return NULL;
}
- else
+ else
return Pref->Val;
}
-void set_ROOM_PREFS(const char *key, size_t keylen, StrBuf *value, int save_to_server)
-{
+void set_ROOM_PREFS(const char *key, size_t keylen, StrBuf * value, int save_to_server) {
StrBuf *pref_name;
-
- pref_name = NewStrBufPlain (HKEY("ROOM:"));
+
+ pref_name = NewStrBufPlain(HKEY("ROOM:"));
StrBufAppendBuf(pref_name, WC->CurRoom.name, 0);
StrBufAppendBufPlain(pref_name, HKEY(":"), 0);
StrBufAppendBufPlain(pref_name, key, keylen, 0);
}
-void GetPreferences(HashList *Setting)
-{
- wcsession *WCC = WC;
+void GetPreferences(HashList * Setting) {
+ wcsession *WCC = WC;
HashPos *It;
long len;
const char *Key;
It = GetNewHashPos(PreferenceHooks, 0);
while (GetNextHashPos(PreferenceHooks, It, &len, &Key, &vSetting)) {
- PrefType = (PrefDef*) vSetting;
+ PrefType = (PrefDef *) vSetting;
if (!HaveBstr(SKEY(PrefType->Setting)))
continue;
case PRF_UNSET:
case PRF_STRING:
Buf = NewStrBufDup(SBstr(SKEY(PrefType->Setting)));
- set_preference_backend(SKEY(PrefType->Setting),
- 0,
- Buf,
- PRF_STRING,
- 1,
- PrefType);
+ set_preference_backend(SKEY(PrefType->Setting), 0, Buf, PRF_STRING, 1, PrefType);
break;
case PRF_INT:
lval = LBstr(SKEY(PrefType->Setting));
- set_preference_backend(SKEY(PrefType->Setting),
- lval,
- NULL,
- PRF_INT,
- 1,
- PrefType);
+ set_preference_backend(SKEY(PrefType->Setting), lval, NULL, PRF_INT, 1, PrefType);
break;
case PRF_QP_STRING:
Buf = NewStrBufDup(SBstr(SKEY(PrefType->Setting)));
- set_preference_backend(SKEY(PrefType->Setting),
- 0,
- Buf,
- PRF_QP_STRING,
- 1,
- PrefType);
+ set_preference_backend(SKEY(PrefType->Setting), 0, Buf, PRF_QP_STRING, 1, PrefType);
break;
case PRF_YESNO:
lval = YesBstr(SKEY(PrefType->Setting));
- set_preference_backend(SKEY(PrefType->Setting),
- lval,
- NULL,
- PRF_YESNO,
- 1,
- PrefType);
+ set_preference_backend(SKEY(PrefType->Setting), lval, NULL, PRF_YESNO, 1, PrefType);
break;
}
}
/*
* Commit new preferences and settings
*/
-void set_preferences(void)
-{
+void set_preferences(void) {
if (!havebstr("change_button")) {
AppendImportantMessage(_("Cancelled. No settings were changed."), -1);
display_main_menu();
}
-void tmplput_CFG_Value(StrBuf *Target, WCTemplputParams *TP)
-{
+void tmplput_CFG_Value(StrBuf * Target, WCTemplputParams * TP) {
Preference *Pref;
- if (get_pref_backend(TKEY(0), &Pref))
- {
+ if (get_pref_backend(TKEY(0), &Pref)) {
if (Pref->Type == NULL) {
StrBufAppendTemplate(Target, TP, Pref->Val, 1);
}
- switch (Pref->Type->eType)
- {
- case PRF_UNSET: /* default to string... */
+ switch (Pref->Type->eType) {
+ case PRF_UNSET: /* default to string... */
case PRF_STRING:
StrBufAppendTemplate(Target, TP, Pref->Val, 1);
break;
if (Pref->decoded != 1) {
if (Pref->DeQPed == NULL)
Pref->DeQPed = NewStrBufPlain(NULL, StrLength(Pref->Val));
-
+
StrBufEUid_unescapize(Pref->DeQPed, Pref->Val);
Pref->decoded = 1;
}
}
}
-void tmplput_CFG_Descr(StrBuf *Target, WCTemplputParams *TP)
-{
+void tmplput_CFG_Descr(StrBuf * Target, WCTemplputParams * TP) {
const char *SettingStr;
SettingStr = PrefGetLocalStr(TKEY(0));
- if (SettingStr != NULL)
+ if (SettingStr != NULL)
StrBufAppendBufPlain(Target, SettingStr, -1, 0);
}
-void tmplput_CFG_RoomValueLong(StrBuf *Target, WCTemplputParams *TP)
-{
+void tmplput_CFG_RoomValueLong(StrBuf * Target, WCTemplputParams * TP) {
long lvalue;
long defval = 0;
get_ROOM_PREFS_LONG(TKEY(0), &lvalue, defval);
StrBufAppendPrintf(Target, "%ld", lvalue);
}
-void tmplput_CFG_RoomValue(StrBuf *Target, WCTemplputParams *TP)
-{
+void tmplput_CFG_RoomValue(StrBuf * Target, WCTemplputParams * TP) {
StrBuf *pref = get_ROOM_PREFS(TKEY(0));
- if (pref != NULL)
+ if (pref != NULL)
StrBufAppendBuf(Target, pref, 0);
}
-int ConditionalHasRoomPreference(StrBuf *Target, WCTemplputParams *TP)
-{
- if (get_ROOM_PREFS(TP->Tokens->Params[0]->Start,
- TP->Tokens->Params[0]->len) != NULL)
+int ConditionalHasRoomPreference(StrBuf * Target, WCTemplputParams * TP) {
+ if (get_ROOM_PREFS(TP->Tokens->Params[0]->Start, TP->Tokens->Params[0]->len) != NULL)
return 1;
-
+
return 0;
}
-int ConditionalPreference(StrBuf *Target, WCTemplputParams *TP)
-{
+int ConditionalPreference(StrBuf * Target, WCTemplputParams * TP) {
StrBuf *Pref;
- if (!get_PREFERENCE(TKEY(2), &Pref))
+ if (!get_PREFERENCE(TKEY(2), &Pref))
return 0;
-
+
if (!HAVE_PARAM(3)) {
return 1;
}
- else if (IS_NUMBER(TP->Tokens->Params[3]->Type))
- {
- return StrTol(Pref) == GetTemplateTokenNumber (Target, TP, 3, 0);
+ else if (IS_NUMBER(TP->Tokens->Params[3]->Type)) {
+ return StrTol(Pref) == GetTemplateTokenNumber(Target, TP, 3, 0);
}
- else
- {
+ else {
const char *pch;
long len;
-
+
GetTemplateTokenString(Target, TP, 3, &pch, &len);
-
- return ((len == StrLength(Pref)) &&
- (strcmp(pch, ChrPtr(Pref)) == 0));
+
+ return ((len == StrLength(Pref)) && (strcmp(pch, ChrPtr(Pref)) == 0));
}
}
-int ConditionalHasPreference(StrBuf *Target, WCTemplputParams *TP)
-{
+int ConditionalHasPreference(StrBuf * Target, WCTemplputParams * TP) {
StrBuf *Pref;
- if (!get_PREFERENCE(TKEY(2), &Pref) ||
- (Pref == NULL))
+ if (!get_PREFERENCE(TKEY(2), &Pref) || (Pref == NULL))
return 0;
- else
+ else
return 1;
}
typedef struct __ValidEmailAddress {
StrBuf *Address;
int IsDefault;
-}ValidEmailAddress;
+} ValidEmailAddress;
-void DeleteValidEmailAddress(void *v)
-{
- ValidEmailAddress *VEA = (ValidEmailAddress*)v;
+void DeleteValidEmailAddress(void *v) {
+ ValidEmailAddress *VEA = (ValidEmailAddress *) v;
FreeStrBuf(&VEA->Address);
free(VEA);
}
-void tmplput_VEA(StrBuf *Target, WCTemplputParams *TP)
-{
- ValidEmailAddress* VEA = (ValidEmailAddress*) CTX((CTX_VEA));
+void tmplput_VEA(StrBuf * Target, WCTemplputParams * TP) {
+ ValidEmailAddress *VEA = (ValidEmailAddress *) CTX((CTX_VEA));
StrBufAppendTemplate(Target, TP, VEA->Address, 0);
}
-int ConditionalPreferenceIsDefaulVEA(StrBuf *Target, WCTemplputParams *TP)
-{
- ValidEmailAddress* VEA = (ValidEmailAddress*) CTX((CTX_VEA));
+int ConditionalPreferenceIsDefaulVEA(StrBuf * Target, WCTemplputParams * TP) {
+ ValidEmailAddress *VEA = (ValidEmailAddress *) CTX((CTX_VEA));
return VEA->IsDefault;
}
-HashList *GetGVEAHash(StrBuf *Target, WCTemplputParams *TP)
-{
+HashList *GetGVEAHash(StrBuf * Target, WCTemplputParams * TP) {
StrBuf *Rcp;
HashList *List = NULL;
int Done = 0;
if (GetServerStatus(Rcp, NULL) == 1) {
FlushStrBuf(Rcp);
List = NewHash(1, NULL);
- while (!Done && (StrBuf_ServGetln(Rcp)>=0)) {
- if ( (StrLength(Rcp)==3) &&
- !strcmp(ChrPtr(Rcp), "000"))
- {
+ while (!Done && (StrBuf_ServGetln(Rcp) >= 0)) {
+ if ((StrLength(Rcp) == 3) && !strcmp(ChrPtr(Rcp), "000")) {
Done = 1;
}
else {
- VEA = (ValidEmailAddress*) malloc(sizeof(ValidEmailAddress));
+ VEA = (ValidEmailAddress *) malloc(sizeof(ValidEmailAddress));
i = snprintf(N, sizeof(N), "%d", n);
StrBufTrim(Rcp);
VEA->Address = Rcp;
FreeStrBuf(&Rcp);
return List;
}
-void DeleteGVEAHash(HashList **KillMe)
-{
+void DeleteGVEAHash(HashList ** KillMe) {
DeleteHash(KillMe);
}
-HashList *GetGVSNHash(StrBuf *Target, WCTemplputParams *TP)
-{
+HashList *GetGVSNHash(StrBuf * Target, WCTemplputParams * TP) {
StrBuf *Rcp;
HashList *List = NULL;
int Done = 0;
if (GetServerStatus(Rcp, NULL) == 1) {
FlushStrBuf(Rcp);
List = NewHash(1, NULL);
- while (!Done && (StrBuf_ServGetln(Rcp)>=0)) {
- if ( (StrLength(Rcp)==3) &&
- !strcmp(ChrPtr(Rcp), "000"))
- {
+ while (!Done && (StrBuf_ServGetln(Rcp) >= 0)) {
+ if ((StrLength(Rcp) == 3) && !strcmp(ChrPtr(Rcp), "000")) {
Done = 1;
}
else {
FreeStrBuf(&Rcp);
return List;
}
-void DeleteGVSNHash(HashList **KillMe)
-{
+void DeleteGVSNHash(HashList ** KillMe) {
DeleteHash(KillMe);
}
/*
* Offer to make any page the user's "start page" (only if logged in)
*/
-void offer_start_page(StrBuf *Target, WCTemplputParams *TP)
-{
+void offer_start_page(StrBuf * Target, WCTemplputParams * TP) {
if (WC->logged_in) {
wc_printf("<a href=\"change_start_page?startpage=");
urlescputs(ChrPtr(WC->Hdr->this_page));
/*
* Change the user's start page
*/
-void change_start_page(void)
-{
+void change_start_page(void) {
const char *pch;
void *vHandler;
int ProhibitSave = 0;
if (pStartPage != NULL) {
pch = strchr(ChrPtr(pStartPage), '?');
- if ((pch != NULL) && (
- GetHash(HandlerHash, ChrPtr(pStartPage), pch - ChrPtr(pStartPage), &vHandler),
- (vHandler != NULL) &&
- ((((WebcitHandler*)vHandler)->Flags & PROHIBIT_STARTPAGE) != 0)))
- { /* OK, This handler doesn't want to be set as start page, prune it. */
+ if ((pch != NULL) && (GetHash(HandlerHash, ChrPtr(pStartPage), pch - ChrPtr(pStartPage), &vHandler), (vHandler != NULL) && ((((WebcitHandler *) vHandler)->Flags & PROHIBIT_STARTPAGE) != 0))) { /* OK, This handler doesn't want to be set as start page, prune it. */
ProhibitSave = 1;
}
}
- if ((pStartPage == NULL) ||
- (ProhibitSave == 1))
- {
- set_preference_backend(HKEY("startpage"),
- 0,
- NewStrBufPlain(HKEY("")),
- PRF_STRING,
- 1,
- NULL);
+ if ((pStartPage == NULL) || (ProhibitSave == 1)) {
+ set_preference_backend(HKEY("startpage"), 0, NewStrBufPlain(HKEY("")), PRF_STRING, 1, NULL);
if (ProhibitSave == 1)
AppendImportantMessage(_("This isn't allowed to become the start page."), -1);
else
- set_preference_backend(HKEY("startpage"),
- 0,
- NewStrBufDup(pStartPage),
- PRF_STRING,
- 1,
- NULL);
+ set_preference_backend(HKEY("startpage"), 0, NewStrBufDup(pStartPage), PRF_STRING, 1, NULL);
output_headers(1, 1, 0, 0, 0, 0);
do_template("newstartpage");
}
-void LoadStartpage(StrBuf *URL, long lvalue)
-{
+void LoadStartpage(StrBuf * URL, long lvalue) {
const char *pch;
void *vHandler;
pch = strchr(ChrPtr(URL), '?');
WC->SavePrefsToServer = 1;
}
}
- else if (GetHash(HandlerHash, ChrPtr(URL), pch - ChrPtr(URL), &vHandler),
- (vHandler != NULL) &&
- ((((WebcitHandler*)vHandler)->Flags & PROHIBIT_STARTPAGE) != 0))
- { /* OK, This handler doesn't want to be set as start page, prune it. */
+ else if (GetHash(HandlerHash, ChrPtr(URL), pch - ChrPtr(URL), &vHandler), (vHandler != NULL) && ((((WebcitHandler *) vHandler)->Flags & PROHIBIT_STARTPAGE) != 0)) { /* OK, This handler doesn't want to be set as start page, prune it. */
FlushStrBuf(URL);
WC->SavePrefsToServer = 1;
}
}
-void
-InitModule_PREFERENCES
-(void)
-{
+void InitModule_PREFERENCES(void) {
RegisterCTX(CTX_VEA);
WebcitAddUrlHandler(HKEY("set_preferences"), "", 0, set_preferences, 0);
RegisterPreference("startpage", _("Prefered startpage"), PRF_STRING, LoadStartpage);
RegisterNamespace("OFFERSTARTPAGE", 0, 0, offer_start_page, NULL, CTX_NONE);
- RegisterNamespace("PREF:ROOM:VALUE", 1, 2, tmplput_CFG_RoomValue, NULL, CTX_NONE);
- RegisterNamespace("PREF:ROOM:VALUE:INT", 1, 2, tmplput_CFG_RoomValueLong, NULL, CTX_NONE);
+ RegisterNamespace("PREF:ROOM:VALUE", 1, 2, tmplput_CFG_RoomValue, NULL, CTX_NONE);
+ RegisterNamespace("PREF:ROOM:VALUE:INT", 1, 2, tmplput_CFG_RoomValueLong, NULL, CTX_NONE);
RegisterNamespace("PREF:VALUE", 1, 2, tmplput_CFG_Value, NULL, CTX_NONE);
-
+
RegisterNamespace("PREF:DESCR", 1, 1, tmplput_CFG_Descr, NULL, CTX_NONE);
RegisterConditional("COND:PREF", 4, ConditionalPreference, CTX_NONE);
RegisterConditional("COND:PREF:SET", 4, ConditionalHasPreference, CTX_NONE);
RegisterConditional("COND:ROOM:SET", 4, ConditionalHasRoomPreference, CTX_NONE);
-
- RegisterIterator("PREF:VALID:EMAIL:ADDR", 0, NULL,
- GetGVEAHash, NULL, DeleteGVEAHash, CTX_VEA, CTX_NONE, IT_NOFLAG);
+
+ RegisterIterator("PREF:VALID:EMAIL:ADDR", 0, NULL, GetGVEAHash, NULL, DeleteGVEAHash, CTX_VEA, CTX_NONE, IT_NOFLAG);
RegisterNamespace("PREF:VALID:EMAIL:ADDR:STR", 1, 1, tmplput_VEA, NULL, CTX_VEA);
RegisterConditional("COND:PREF:VALID:EMAIL:ADDR:STR", 4, ConditionalPreferenceIsDefaulVEA, CTX_VEA);
- RegisterIterator("PREF:VALID:EMAIL:NAME", 0, NULL,
- GetGVSNHash, NULL, DeleteGVSNHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
+ RegisterIterator("PREF:VALID:EMAIL:NAME", 0, NULL, GetGVSNHash, NULL, DeleteGVSNHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
}
-void
-ServerStartModule_PREFERENCES
-(void)
-{
+void ServerStartModule_PREFERENCES(void) {
PreferenceHooks = NewHash(1, NULL);
}
-void
-ServerShutdownModule_PREFERENCES
-(void)
-{
+void ServerShutdownModule_PREFERENCES(void) {
DeleteHash(&PreferenceHooks);
}
-void
-SessionDetachModule__PREFERENCES
-(wcsession *sess)
-{
+void SessionDetachModule__PREFERENCES(wcsession * sess) {
if (sess->SavePrefsToServer) {
save_preferences();
sess->SavePrefsToServer = 0;
}
}
-void
-SessionNewModule_PREFERENCES
-(wcsession *sess)
-{
- sess->hash_prefs = NewHash(1,NULL);
+void SessionNewModule_PREFERENCES(wcsession * sess) {
+ sess->hash_prefs = NewHash(1, NULL);
}
-void
-SessionDestroyModule_PREFERENCES
-(wcsession *sess)
-{
+void SessionDestroyModule_PREFERENCES(wcsession * sess) {
DeleteHash(&sess->hash_prefs);
}