* \brief draw the icon bar???
*/
void do_iconbar(void) {
- int ib_displayas = 0; /**< pictures and text, pictures, text */
+ int ib_displayas = IB_PICTEXT; /**< pictures and text, pictures, text */
LoadIconSettings();
- ib_displayas = IconbarIsEnabled("ib_displayas", 0);
+ ib_displayas = IconbarIsEnabled("ib_displayas", IB_PICTEXT);
/** Site logo */
if (IconbarIsEnabled("ib_logo", 0)) {
LoadIconSettings();
- ib_displayas = IconbarIsEnabled("ib_displayas", 0); /* pictures and text, pictures, text */
+ ib_displayas = IconbarIsEnabled("ib_displayas", IB_PICTEXT); /* pictures and text, pictures, text */
/** Site logo */
if (IconbarIsEnabled("ib_logo", 0)) {
int recipient_required = 0;
int subject_required = 0;
int recipient_bad = 0;
- int i;
int is_anonymous = 0;
long existing_page = (-1L);
size_t dplen;
int UseSig;
get_pref_yesno("use_sig", &UseSig, 0);
if (UseSig) {
- int len;
+ StrBuf *Sig;
+ const char *sig, *esig;
+
get_preference("signature", &ebuf);
- euid_unescapize(buf, ChrPtr(ebuf));/////TODO
+ Sig = NewStrBuf();
+ StrBufEUid_unescapize(Sig, ebuf);
+ sig = ChrPtr(Sig);
+ esig = sig + StrLength(Sig);
wprintf("<br>--<br>");
- len = strlen(buf);
- for (i=0; i<len; ++i) {
- if (buf[i] == '\n') {
+ while (sig <= esig) {
+ if (*sig == '\n') {
wprintf("<br>");
}
- else if (buf[i] == '<') {
+ else if (*sig == '<') {
wprintf("<");
}
- else if (buf[i] == '>') {
+ else if (*sig == '>') {
wprintf(">");
}
- else if (buf[i] == '&') {
+ else if (*sig == '&') {
wprintf("&");
}
- else if (buf[i] == '\"') {
+ else if (*sig == '\"') {
wprintf(""");
}
- else if (buf[i] == '\'') {
+ else if (*sig == '\'') {
wprintf("'");
}
- else if (isprint(buf[i])) {
- wprintf("%c", buf[i]);
+ else if (isprint(*sig)) {
+ wprintf("%c", *sig);
}
+ sig ++;
}
}
}
// Was this request a delete operation? If so, nuke it...
if (havebstr("deletenote")) {
if (!strcasecmp(bstr("deletenote"), "yes")) {
- serv_printf("DELE %ld", msgnum);
+ serv_printf("DELE %d", msgnum);
serv_getln(buf, sizeof buf);
begin_ajax_response();
wprintf("%s", buf);
offset = 0;
while (nchars > 0) {
if (n == 0)
- nchars = 70;
+ nchars = 71;
else
nchars = 80;
if (n == 0)
serv_printf("%s|%s", Key, ChrPtr(SubBuf));
else
- serv_printf(" %s", Key, ChrPtr(SubBuf));
+ serv_printf(" %s", ChrPtr(SubBuf));
offset += nchars;
n++;
);
wprintf("<input type=\"radio\" id=\"no_sig\" name=\"use_sig\" VALUE=\"no\"");
- if (!UseSig) wprintf(" checked");
+ if (UseSig) wprintf(" checked");
wprintf(" onChange=\"show_or_hide_sigbox();\" >");
wprintf(_("No signature"));
wprintf("</input> , \n");
wprintf("<input type=\"radio\" id=\"yes_sig\" name=\"use_sig\" VALUE=\"yes\"");
- if (UseSig) wprintf(" checked");
+ if (!UseSig) wprintf(" checked");
wprintf(" onChange=\"show_or_hide_sigbox();\" >");
wprintf(_("Use this signature:"));
wprintf("<div id=\"signature_box\">"
get_preference("signature", &Signature);
ebuf = NewStrBuf();
StrBufEUid_unescapize(ebuf, Signature);
- escputs(ChrPtr(ebuf));
+ escputs((char*)ChrPtr(ebuf));///TODO
FreeStrBuf(&ebuf);
wprintf("</textarea>"
"</div>"
wprintf(_("Default character set for email headers:"));
wprintf("</td><td>");
wprintf("<input type=\"text\" NAME=\"default_header_charset\" MAXLENGTH=\"32\" VALUE=\"");
- escputs(ChrPtr(Buf));
+ escputs((char*)ChrPtr(Buf)); // here shouldn't be bad chars, so...
wprintf("\">");
wprintf("</td></tr>");
void set_preferences(void)
{
long fmt;
- StrBuf *ebuf;
+ StrBuf *buf, *encBuf;
int *time_format_cache;
time_format_cache = &(WC->time_format_cache);
set_preference("default_header_charset", NewStrBufPlain(bstr("default_header_charset"), -1), 0);
set_preference("emptyfloors", NewStrBufPlain(bstr("emptyfloors"), -1), 0);
- ebuf = NewStrBufPlain(bstr("signature"), -1);
- /////TODOeuid_escapize(ebuf);
- set_preference("signature", ebuf, 1);
+ buf = NewStrBufPlain(bstr("signature"), -1);
+ encBuf = NewStrBuf();
+ StrBufEUid_escapize(encBuf, buf);
+ set_preference("signature", encBuf, 1);
display_main_menu();
}
}
if (msgnum > 0L) {
- serv_printf("MSG0 %ld", msgnum);
+ serv_printf("MSG0 %d", msgnum);
serv_getln(buf, sizeof buf);
if (buf[0] == '1') {
while (serv_getln(buf, sizeof buf),
}
if (msgnum > 0L) {
- serv_printf("DELE %ld", msgnum);
+ serv_printf("DELE %d", msgnum);
serv_getln(buf, sizeof buf);
}
if (WC->axlevel >= 6) {
strcat(WC->ImportantMessage, "<br />\n");
- serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), bstr("floorvalue"));
+ serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), ibstr("floorvalue"));
serv_getln(buf, sizeof buf);
strcat(WC->ImportantMessage, &buf[4]);
}
void fmout(char *align);
void pullquote_fmout(void);
void wDumpContent(int);
-void serv_printf(const char *format,...);
/* TODO: get rid of the non-const-typecast */
#define bstr(a) (char*) Bstr(a, sizeof(a) - 1)
void serv_gets(char *strbuf);
void serv_write(char *buf, int nbytes);
void serv_puts(char *string);
-void serv_printf(const char *format,...);
+void serv_printf(const char *format,...)__attribute__((__format__(__printf__,1,2)));
void load_floorlist(void);
void display_reg(int);
void display_changepw(void);
void SVPut(char *keyname, size_t keylen, int keytype, char *Data);
#define svput(a, b, c) SVPut(a, sizeof(a) - 1, b, c)
-void svprintf(char *keyname, size_t keylen, int keytype, const char *format,...);
-void SVPRINTF(char *keyname, int keytype, const char *format,...);
+void svprintf(char *keyname, size_t keylen, int keytype, const char *format,...) __attribute__((__format__(__printf__,4,5)));
+void SVPRINTF(char *keyname, int keytype, const char *format,...) __attribute__((__format__(__printf__,3,4)));
void SVCALLBACK(char *keyname, var_callback_fptr fcn_ptr);
void SVCallback(char *keyname, size_t keylen, var_callback_fptr fcn_ptr);
#define svcallback(a, b) SVCallback(a, sizeof(a) - 1, b)